|
以下のような感じで複数のエクセルファイルの指定したシートの指定した
範囲を原価構成というテーブルにインポートしようとしています。
しかしオブジェクトが必要です。
とFname = objXL.GetOpenFilename("すべてのファイル(*.*),*.*", , , , True)
この部分でエラーが出てしまいます。
どんなコードを書けばいいのでしょうか・・?
初心者なので結構適当になっています。
こうした方がいいという指摘もお願いします。m(__)m
Public Sub excelimport()
Dim objFso As Object
Dim objDir As Object
Dim objFile As Object
Dim strSql As String
Dim strDir As String
strDir = "\\Shiob030\共有\bbc\03.L.C.kaigai\yyy\07SS\zzz"
Set objFso = CreateObject("Scripting.FileSystemObject")
If objFso.folderexists(strDir) = False Then
MsgBox strDir & " フォルダは見つかりません"
Set objFso = Nothing
Exit Sub
End If
Set objDir = objFso.getfolder(strDir)
If objDir.Files.Count = 0 Then
MsgBox "ファイルが無いよ"
Set objDir = Nothing: Set objFso = Nothing
Exit Sub
End If
Select Case MsgBox("今までのレコードを消しますか?", vbYesNoCancel + vbDefaultButton3)
Case vbYes
CurrentDb.Execute "delete * from 原価構成"
Case vbNo
Case vbCancel
Set objDir = Nothing: Set objFso = Nothing
Exit Sub
End Select
Fname = objXL.GetOpenFilename("すべてのファイル(*.*),*.*", , , , True)
'ファイル名の配列を取得
Filsu = UBound(Fname)
For i = 1 To Filsu
DoCmd.TransferSpreadsheet , acSpreadsheetTypeExcel9, "原価構成", Fname(i), True, "sheet2!A1:ag5000"
Next i
End Sub
|
|