2016-11-15 13 views
0

最初にVB.netでプログラミングを行い、少し問題を見つけました。私は、ループforが実行されるかどうかを別の反復を行う前に、Ifステートメント制御で制御する方法を見つけようとしています。Forループを続ける条件

コード:

For Each theTable In tableDoc.Tables 
     testString = "" 
     For row = 1 To theTable.Rows.Count 
      isHeaderOrNot = theTable.Cell(row, 1).Range.Text 'Gets value in first column 
      If isHeaderOrNot is Not Like "Section" or "Field" then Continue For 'if the words "Section" or "Field" are NOT included in isHeaderOrNot then continue with For loop 
      keyText = theTable.Cell(row, 2).Range.Text 
      valueText = theTable.Cell(row, 3).Range.Text 
      Console.WriteLine("KEY: {0}", keyText) 
      Console.WriteLine("VALUE: {0}", valueText) 
      Console.WriteLine("") 
     Next 
    Next 

私は期待表現がありますと言ってLike上のエラーを取得しています。..

は基本的にループの中にある行の最初の列は、セクションまたはフィールドIが含まれている場合次の行に行きたい。初めてこれを扱う質問を説明しようとしたので、何か質問してみてください!本当にありがとう!

+1

する必要があります: 'isHeaderOrNotは "セクション" ようにされていませんし、isHeaderOrNotは、 "フィールド" は、'(の 'and'ない' or'の点に注意してください好きではないされている場合両方を除外する) - ワイルドカードを持たないので、 'like'ではなく' <> 'を使うこともできます。 –

+0

あなたの時間のために良い提案と感謝!、しかし、私はまだあなたのコードの最初の "好き"にエラーが表示されます。 @AlexK。 – Bob

+1

これは何ですか? Excel? 'theTable.Cell(row、1)'データ型にはセルがありません – Plutonix

答えて

1

ブロック全体をifに含めることができます。そうでない場合にループを終了する場合は、Exit Forを使用できます。

For Each theTable In tableDoc.Tables 
    testString = "" 
    For row = 1 To theTable.Rows.Count 
     isHeaderOrNot = theTable.Cell(row, 1).Range.Text 

     'If cell doesn't contain Section or Field, then do the following 
     If Not isHeaderOrNot.contains("Section") AndAlso Not isHeaderOrNot.contains("Field") 
      keyText = theTable.Cell(row, 2).Range.Text 
      valueText = theTable.Cell(row, 3).Range.Text 
      Console.WriteLine("KEY: {0}", keyText) 
      Console.WriteLine("VALUE: {0}", valueText) 
      Console.WriteLine("") 
     Else 

      'If it DOES include Section or Field, then stop looping 
      Exit For 
     End If 
    Next 
Next 
1

正しい構文は、あなたが必要とする

If Not isHeaderOrNot Like "Section" AndAlso 
    Not isHeaderOrNot Like "Field" Then 
    Exit For 
関連する問題