Excel VBA質問箱 IV

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

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


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

【25047】GetOpenFilenameを使ったときにあらかじめファイル名を表示させておきたい のんたん 05/5/18(水) 19:24 質問[未読]
【25051】Re:GetOpenFilenameを使ったときにあらかじ... ちゃっぴ 05/5/18(水) 19:44 発言[未読]
【25052】Re:GetOpenFilenameを使ったときにあらかじ... Hirofumi 05/5/18(水) 20:05 回答[未読]
【25053】Re:GetOpenFilenameを使ったときにあらかじ... のんたん 05/5/18(水) 20:21 お礼[未読]

【25047】GetOpenFilenameを使ったときにあらかじ...
質問  のんたん  - 05/5/18(水) 19:24 -

引用なし
パスワード
   初めて質問させていただきます。
拡張子が.txtのテキストファイルを読み込ませようとしています。
これを「GetOpenFilename」で行なおうとしていますが、
ダイアログボックスの「ファイル名」のところに、初めから
「*XXX*.txt」と表示させておくことは可能でしょうか?
Application.Dialogs(xlDialogOpen).Show("*XXX*.txt")とすると、
ファイル名が初めから出せるのですが、テキストファイルウィザードが
開いてしまいます。
なんとかウィザードを出さずに、初めからファイル名を表示させておく
方法はないものでしょうか?
どなたかご教授いただけたら幸いです。

【25051】Re:GetOpenFilenameを使ったときにあらか...
発言  ちゃっぴ  - 05/5/18(水) 19:44 -

引用なし
パスワード
   ちゃんとHelpに載っていますが?
# ご丁寧に使用例まで・・・
確認されましたか?

【25052】Re:GetOpenFilenameを使ったときにあらか...
回答  Hirofumi  - 05/5/18(水) 20:05 -

引用なし
パスワード
   私はこんな形で使っています

Option Explicit

Public Sub Test()

  Dim vntFileName As Variant
  
  '拡張子は、入れない(ワイルドカードが使えます、"?"、"*")
  vntFileName = "*XXX*"
  
  If GetReadFile(vntFileName, ThisWorkbook.Path, False) Then
    MsgBox vntFileName
  Else
    MsgBox "キャンセルされました"
  End If
  
End Sub

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

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

【25053】Re:GetOpenFilenameを使ったときにあらか...
お礼  のんたん  - 05/5/18(水) 20:21 -

引用なし
パスワード
   ちゃっぴさん、Hirofumiさんありがとうございます!!
チャレンジしてみます!!

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