2008 vbExpressEditionのユーザーフォームがあります。部品番号は、連結文字列を介したユーザー入力から作成されます。次に、部品番号の特定の部分がディレクトリ内の既存のファイル名に存在するかどうかを確認したいと思います。以下は、より詳細な説明です。
これは、フォームのユーザー入力から部品番号を作成するための私のコードです。
L_PartNo.Text = String.Concat(CB_Type.Text, CB_Face.Text, "(", T_Width.Text, "x", T_Height.Text, ")", mount, T_Qty.Text, weep, serv)
次に、作成したばかりの構成(部品番号)が存在するかどうかをユーザーに通知する次のコードがあります
L_Found.Visible = True
If File.Exists("Z:\Cut Sheets\TCS Products\BLANK OUT SIGN\" & (L_PartNo.Text) & ".pdf") Then
L_Found.Text = "This configuration exists"
Else
L_Found.Text = "This configuration does NOT exist"
End If
これは私が助けを必要としているところです。部品番号は次のようになります。BX002(30x30)A1SS 002(30x30)(ファイル名のこの部分のみ)を1つのディレクトリ内のすべてのファイルと比較します。一致するすべてのファイルのリストではなく、存在に対する「はい」または「いいえ」の答えが必要です。以下のコードは、私が試したすべてのものであり、同時にすべてではありません。
Dim b As Boolean
b = L_PartNo.Text.Contains(NewFace)
Dim NewFace As String = String.Concat(CB_Face.Text, "(", T_Width.Text, "x", T_Height.Text, ")")
Dim NewFace = L_PartNo.Text.Substring(2, 10)
If filename.Contains(NewFace) Then
lNewFace.Visible = False
Else
lNewFace.Visible = True
End If
以下のコードはC#の回答からの翻訳ですが、どちらも機能しません
Dim contains As Boolean = Directory.EnumerateFiles(path).Any(Function(f) [String].Equals(f, "myfilethree", StringComparison.OrdinalIgnoreCase))