Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6908 / 13646 ツリー ←次へ | 前へ→

【42349】特定のファイルのみをリストに出す 06/9/7(木) 16:17 質問[未読]
【42350】Re:特定のファイルのみをリストに出す Jaka 06/9/7(木) 16:41 回答[未読]
【42354】Re:特定のファイルのみをリストに出す Hirofumi 06/9/7(木) 18:53 回答[未読]
【42423】Re:特定のファイルのみをリストに出す 06/9/11(月) 13:33 お礼[未読]

【42349】特定のファイルのみをリストに出す
質問    - 06/9/7(木) 16:17 -

引用なし
パスワード
   こんにちわ
解決しない部分が出た為にここに書き込みに来ました。
ご助力願います。

File = Application.GetOpenFilename("File (*.xml), *.xml")
これで実行するとファイル選択のダイアログが表示されて選択するのですが
この場合だと全ての「xml」拡張子のみを表示するようになっています。

これを元に更に選ぶファイルを絞り込みたいのです。
選ぶファイルはファイル名に「SYS」と入っているモノです。
条件としては大文字、小文字両方可能にしたいと思っています。

ファイル一例
***_SYS.xml ok
*_SYS_*.xml ok
sys.xml   ok
*sys*.xml  ok

よろしくお願いします。

【42350】Re:特定のファイルのみをリストに出す
回答  Jaka  - 06/9/7(木) 16:41 -

引用なし
パスワード
   http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=99;id=FAQ

【42354】Re:特定のファイルのみをリストに出す
回答  Hirofumi  - 06/9/7(木) 18:53 -

引用なし
パスワード
   善く試して無いけどこんなので善いかも?

Option Explicit

Public Sub Sample()

  Dim vntFileNames As Variant
  Dim strProm As String
  
  vntFileNames = "*SYS*"
  
  If GetReadFile(vntFileNames, ThisWorkbook.Path, False) Then
    strProm = vntFileNames & "が選択されました"
  Else
    strProm = "キャンセルされました"
  End If
  
  MsgBox strProm, vbExclamation
  
End Sub

Public Function GetReadFile(vntFileNames As Variant, _
            Optional strFilePath As String, _
            Optional blnMultiSel As Boolean _
                    = False) As Boolean

  Dim strFilter As String
  
  'フィルタ文字列を作成
  strFilter = "File (*.xml), *.xml," _
        & "Excel Book (*.xls),*.xls," _
        & "全て (*.*),*.*"
  '読み込むファイルの有るフォルダを指定
  If strFilePath <> "" Then
    'ファイルを開くダイアログ表示ホルダに移動
    ChDrive Left(strFilePath, 1)
    ChDir strFilePath
  End If
  'もし、ディフォルトのファイル名が有る場合
  If vntFileNames <> "" Then
    SendKeys vntFileNames & "{TAB}", False
  End If
  '「ファイルを開く」ダイアログを表示
  vntFileNames _
    = Application.GetOpenFilename(strFilter, 1, , , blnMultiSel)
  If VarType(vntFileNames) = vbBoolean Then
    Exit Function
  End If
  
  GetReadFile = True
  
End Function

【42423】Re:特定のファイルのみをリストに出す
お礼    - 06/9/11(月) 13:33 -

引用なし
パスワード
   ありがとうございました。
御二方のを参考にし自分なりにアレンジします。

助言ありがとうございました。

6908 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free