次のマクロをExcel for Macで実行しようとすると以下のエラーが出てしまいます。
エラーメッセージ
「クラスはオートメーションをサポートしていないか、または必要なインターフェースをサポートしていません」
インターネットでも色々調べたのですが分かりませんでした。
デバッグをすると
Set wbAcq = xlsAcq.Workbooks.Open(strPath & strFile)
の行で止まってしまいます。
書き方を変えればうまく動く等などございましたら、申し訳ありませんが教えていただきたいです。
よろしくお願いします。
Macro
1Sub sample1() 2 3 Dim lngRowsNo As Long ' 書きこむ位置 4 Dim lngSheetIndex As Long ' シートの番号 5 Dim strFile As String ' Excelファイルの場所 6 Dim xlsAcq As New Excel.Application ' 取得側Excel 7 Dim wbAcq As Workbook ' 取得側Excelブック 8 Dim wsAcq As Worksheet ' 取得側Excelシート 9 Dim wsSet As Worksheet ' 設定側Excelシート 10 Const strPath As String = "パスの指定" 11 Set wsSet = ActiveSheet 12 13 strFile = Dir(strPath & "*.xls") 14 lngRowsNo = 1 15 Do Until strFile = "" 16 '----- Excelブックを開く 17 Set wbAcq = xlsAcq.Workbooks.Open(strPath & strFile) 18 19 '----- シートを検索 20 For lngSheetIndex = 1 To wbAcq.Worksheets.Count 21 '----- 「更新」シートを検索 22 If wbAcq.Worksheets(lngSheetIndex).Name = "更新" Then 23 '----- 「更新」シートを変数へ登録 24 Set wsAcq = xlsAcq.Worksheets(lngSheetIndex) 25 '----- 「更新」シートの内容を現在のシートにコピー(自由に変更して下さい) 26 wsSet.Cells(lngRowsNo, 1) = wsAcq.Cells(1, 1) 27 '----- 書きこむ位置移動 28 lngRowsNo = lngRowsNo + 1 29 '----- 検索の終了 30 Exit For 31 End If 32 Next lngSheetIndex 33 34 '----- シート参照の解放 35 Set wsAcq = Nothing 36 '----- ブックを閉じる 37 wbAcq.Close Savechanges:=False 38 '----- 次のファイルへ 39 strFile = Dir() 40 Loop 41 42 '----- Excelへの参照の解放 43 Set xlsAcq = Nothing 44 45End Sub
回答1件
あなたの回答
tips
プレビュー