3

次のコードのスナップショットを使用して、フォルダー内のファイルをループしています。フォルダー内にファイルがあるかどうかを簡単Ifに確認し、ない場合は終了します。End If最後に正しくコンパイルする必要がないことに気付きました。msgboxただし、終了した理由の説明を追加したいのでEnd If、コードに導入する必要があります。

何故ですか?

オリジナルコード

If Len(strfilename) = 0 Then Exit Sub
    Do Until strfilename = ""
       'Do some stuff
    strfilename = Dir()
Loop

メッセージボックスあり

If Len(strfilename) = 0 Then
    MsgBox ("No Files Found")
    Exit Sub
Else
    Do Until strfilename = ""
        'Do some stuff
    strfilename = Dir()
    Loop
End If
4

1 に答える 1

8

の単一行形式がありifます。

if (expr) then X

whereXは同じにある必要があります。これは、単一の式に適しています。

if 1=1 then exit sub

または奇妙ですが合法です(:継続文字を使用)

if 1 = 1 Then MsgBox ("No Files Found"): Exit Sub

これは、ブロックがいつ終了するかend ifをコンパイラに伝える必要がある、より読みやすいブロック形式を使用してより適切に記述されます。if

if 1 = 1 Then 
   MsgBox ("No Files Found")
   Exit Sub
end if
于 2012-09-18T10:44:46.990 に答える