Access (VBA)

Access VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(指定なし : 指定なし)
特殊文字を含んだ曖昧検索について
投稿日時: 18/12/03 10:59:31
投稿者: けん太

選択したファイルから処理を分岐させようとしていますが、
ファイル名に、#の文字が含まれています。
 
ファイル名:A#_GET.xls、B#_GET.xls、C#_GET.xls
 
処理分岐するため、以下の定数を定義しています。
public const A string "*A#_GET*"
public const B string "*B#_GET*"
 
以下のcase分で判定が上手くいきません。
#の文字が含まれているので、判定できないのでしょうか?
 
このような場合、どのように判定させればよいか、ご教授お願いいたあします。
 
select case true
  case ファイル名 like A
     処理A
 case ファイル名 like B
  処理B
end select
 
  
 

回答
投稿日時: 18/12/03 12:57:23
投稿者: Suzu

こんにちは。
 
【方法: 文字列がパターンに一致するかどうかを調べる (Visual Basic)】
https://docs.microsoft.com/ja-jp/dotnet/visual-basic/programming-guide/language-features/operators-and-expressions/how-to-match-a-string-against-a-pattern
 
判りづらいかもしれませんが、
「#」は、ワイルドカードとして使用できる、特殊文字です。
その文字自体を探す場合には、[]で囲みます。
 
つまり、
public const A string "*A#_GET*"
  ↓
public const A string "*A[#]_GET*"
 
とすれ。。。あれ。。
Public Const A As String = "*A[#]_GET*"
ですね

投稿日時: 18/12/03 13:07:30
投稿者: けん太

Suzuさん
 
  ありがとうございました。
  記載ロジックにAS が抜けてました。
  失礼いたしました。