| 
    
     |  | 以下のような感じで複数のエクセルファイルの指定したシートの指定した 範囲を原価構成というテーブルにインポートしようとしています。
 しかしオブジェクトが必要です。
 と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
 
 |  |