Access VBAについて教えて下さい。
Access VBAについて教えて下さい。
<内容>
選択ボタンを押下するとファイル選択のダイアログ画面が表示されます。
そこから複数ファイルを選択してテキストボックスに選択したファイルを取得します。
実行ボタンを押下するとテキストボックスで取得したファイルを同じテーブルにインポートします。
※テキストボックスの名前 = FileList
<VBA>
Private Sub 選択_Click()
With Application.FileDialog(msoFileDialogFilePicker)
.Filters.Clear
.Title = "ファイル選択"
.Filters.Add "すべてのファイル", "*.*"
.Filters.Add "テキストファイル", "*.txt"
.Filters.Add "TSVファイル", "*.tsv"
.Filters.Add "EXCELファイル", "*.xls"
.AllowMultiSelect = True
.InitialFileName = CurrentProject.Path
If .Show = -1 Then
Me.FileList = .SelectedItems(1)
'ユーザーが [キャンセル] をクリックした場合
Else
End If
End With
End Sub
Private Sub 実行_Click()
'テーブル削除
On Error GoTo エラー
Dim mySQL As String
Dim strName As String
Dim strmsg As String
Set Db = CurrentDb
strName = "テスト"
strmsg = "" & strName & "テーブルを削除します。"
mySQL = "DROP TABLE " & strName
'「はい」ボタンを押下した場合
If MsgBox(strmsg, vbYesNo) = vbYes Then
Db.Execute mySQL
MsgBox strName & "テーブルを削除しました。", vbCritical
MsgBox "インポートします。", vbInformation
'インポート開始
DoCmd.TransferSpreadsheet aclmport, acSpreadsheetTypeExcel8, "テスト", FileList, True
MsgBox "インポート完了", vbInformation
'「いいえ」ボタンを押下した場合
End If
Db.Close: Set Db = Nothing
Exit Sub
'テーブルが存在しなかった場合
エラー:
MsgBox strName & "テーブルが存在しません。", vbExclamation
MsgBox "インポートします。", vbInformation
'インポート開始
DoCmd.TransferSpreadsheet aclmport, acSpreadsheetTypeExcel8, "テスト", FileList, True
MsgBox "インポート完了", vbInformation
End Sub
<困っていること>
ファイルを複数選択することは、出来ますがテキストボックスには1ファイルしか取得出来ません。
そのため、インポートも1ファイルのみになってしまいます。
どのようにしたらテキストボックスに複数ファイル名を取得し、インポート出来るのでしょうか?
お礼
ご回答ありがとうございます。なるほど。試してみます。 COMMAND.TXTを再度よく読んでみます。