簡體   English   中英

如果使用OR和AND聲明

[英]IF Statement With OR and AND

以下是我當前的if語句。 我正在嘗試檢查某些文件是否存在,並且看來我的第一個檢查(帶有(或/和))沒有拾取這些文件中的任何一個,因此無法顯示msgbox語句。 我在()處添加了我認為有道理的文件,但仍未獲取任何文件。

當前,文件2.txt和4.txt確實存在於C:\\ Temp中。

關於我所缺少的任何建議嗎?

If (My.Computer.FileSystem.FileExists("C:\Temp\1.txt") Or _
    My.Computer.FileSystem.FileExists("C:\Temp\2.txt") Or _
    My.Computer.FileSystem.FileExists("C:\Temp\3.txt")) And _
    My.Computer.FileSystem.FileExists("C:\Temp\4.txt") Then

<<do something here1>>

Else

Msgbox("No files exist.")

EndIf

最終我錯過了一個父母。

感謝@Dan Puzey建議使用Boolean來檢查文件是否存在。 使用此文件時,我的文件確實不存在,因為該文件有多余的空間。

我最終仍然使用IF語句,添加了兩個額外的括號,現在看來可以正常工作。

@varocarbas最初建議將其作為答案(盡管仍不太確定為什么將其刪除),但想在應歸還的地方給予感謝。

If ((My.Computer.FileSystem.FileExists("C:\Temp\1.txt") Or _
    My.Computer.FileSystem.FileExists("C:\Temp\2.txt") Or _
    My.Computer.FileSystem.FileExists("C:\Temp\3.txt"))) And _
    My.Computer.FileSystem.FileExists("C:\Temp\4.txt") Then

<<do something here1>>

Else

Msgbox("No files exist.")

EndIf

如果要檢查是否所有文件都存在,請使用AndAlso
如果所有四個文件都存在,將返回true

If  My.Computer.FileSystem.FileExists("C:\Temp\1.txt") AndAlso
    My.Computer.FileSystem.FileExists("C:\Temp\2.txt") AndAlso
    My.Computer.FileSystem.FileExists("C:\Temp\3.txt") AndAlso
    My.Computer.FileSystem.FileExists("C:\Temp\4.txt") Then

    <<do something here1>>

Else

   Msgbox("No files exist.")

EndIf

如果要檢查文件中是否存在任何其他文件,請使用OrElse
如果這些文件中存在任何文件,則將返回true

If  My.Computer.FileSystem.FileExists("C:\Temp\1.txt") OrElse
    My.Computer.FileSystem.FileExists("C:\Temp\2.txt") OrElse
    My.Computer.FileSystem.FileExists("C:\Temp\3.txt") OrElse
    My.Computer.FileSystem.FileExists("C:\Temp\4.txt") Then

    <<do something here1>>

Else

   Msgbox("No files exist.")

EndIf

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM