|
皆様ありがとうございました
▼Hirofumi さん:
>私は、こんなやり方をしています
>
>Option Explicit
>
>Public Sub Sample()
>
> Dim strPath As String
> Dim vntFileName As Variant
> Dim strProm As String
>
> 'パスを設定
> strPath = ThisWorkbook.Path
>
> '読み込むファイルを取得
> If GetReadFile(vntFileName, strPath, False) Then
> strProm = "選択されたFileは " & vntFileName
> Else
> strProm = "マクロがキャンセルされました"
> End If
>
> MsgBox strProm, vbInformation
>
>End Sub
>
>Private 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, 1, , , blnMultiSel)
> If VarType(vntFileNames) = vbBoolean Then
> Exit Function
> End If
>
> GetReadFile = True
>
>End Function
|
|