エクセルVBAについて、iPhoneからAirDropで送ったHEIC画像を自動的に所定の位置にエクセルに貼り付けるプログラムを作成しています。
このコードを走らせると、エクセル側で「このファイルのインポート中にエラーが発生しました。(ファイルURL)」と表示され、Visial Basicでは実行時エラー’1004’アプリケーション定義またはオブジェクト定義のエラーです。と表示されます。Shapes.addpictureとPictures.Insertメソッドを試しましたが、両方うまく行きませんでした。
環境はMacで、JPGなどの画像にしてもうまくインポートされませんでした。ドラッグドロップだとエクセルに画像を貼ることができます。一度ドラッグドロップでシートに貼った画像であればその画像は自動で貼り付けることができます。
VBAに詳しい方、ご回答頂けると幸いです。
Visual
1Sub 画像読み込み() 2 3 Dim lngTop As Long 4 5 '--- フォルダのパス ---' 6 Dim folderPath As String 7 folderPath = ThisWorkbook.Path & "/images" 8 '--- ファイル名(ワイルドカードを使用) ---' 9 Dim fileName As String 10 fileName = "*" 11 12 '--- Dir関数の戻り値を格納する変数 ---' 13 Dim tmp As String 14 15 tmp = Dir(folderPath & "/" & fileName) 16 lngTop = 20 17 Do While tmp <> "" 18 19 Dim file As String 20 file = folderPath & "/" & tmp 21 Debug.Print file 22 23 ActiveSheet.Shapes.AddPicture _ 24 fileName:=file, _ 25 LinkToFile:=False, _ 26 SaveWithDocument:=True, _ 27 Left:=20, _ 28 Top:=lngTop, _ 29 Width:=300, _ 30 Height:=200 31 32 '--- こっちも試したけど無理でした ---' 33 'With ActiveSheet.Pictures.Insert(fileName:=file) 34 ' .Top = lngTop 35 ' .Left = 20 36 ' .Width = 300 37 ' .Height = 200 38 ' End With 39 40 lngTop = lngTop + 200 + 20 41 tmp = Dir() 42 Loop 43 44 45End Sub

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/11 05:05
2020/03/11 05:18
2020/03/11 05:25
2020/03/11 05:35