No.2ベストアンサー
- 回答日時:
「画像貼り付けマクロについて」の「前の質問」がなにかわかるように、例えば、質問履歴がわかるようにするか、あるいは、前の質問のURLを貼っておくのかしないと、どんなことをやろうとしているのかもわかりません。
「サブディレクトリから画像を選択し貼り付けしている」という状況もイメージがわきません。 メインディレクトリとサブディレクトリの言葉から、いくつか下層のディレクトリ(フォルダ)の中のファイルを対象にしているらしいことは想像出来ますが、その先も、最終的にどうしようとしているのかもわかりません。
参照設定 Microsoft Scripting Runtime をしておくことが出来るのでしたら、
下記のマクロでも、("D:\testFolder\testImageF")の中の複数のフォルダやさらに再下層のフォルダの中の添え字が("jpg")あるいは("JPG")のファイルを、エクセルの現在表示してるシートに小さなサイズで並べることは出来ます。
Sub macro2()
Dim objFSO As FileSystemObject, Retu As Long, Syu As String
Set objFSO = New FileSystemObject ' FSO
Retu = 4: Syu = LCase("jpg")
Tg_Path = LCase("D:\testFolder\testImageF")
Call File_HARI(objFSO, objFSO.GetFolder(Tg_Path), Retu, Syu)
Set objFSO = Nothing
End Sub
Private Sub File_HARI(objFSO As FileSystemObject, _
ByVal objFolder As Folder, _
Retu As Long, Syu As String)
Dim objFolder2 As Folder, objFile As File
For Each objFolder2 In objFolder.SubFolders
Call File_HARI(objFSO, objFolder2, Retu, Syu)
Next objFolder2
GYO = 5
Retu = Retu + 1
Cells(GYO, Retu) = objFolder.Path
For Each objFile In objFolder.Files
With objFile ' 拡張子を確認し、該当ならシートに貼り付け
If LCase(objFSO.GetExtensionName(.Path)) = Syu Then
GYO = GYO + 1
Cells(GYO, Retu) = .Name
GYO = GYO + 1
ActiveSheet.Pictures.Insert(.Path).Select
With Selection
.Top = Cells(GYO, Retu).Top
.Left = Cells(GYO, Retu).Left
.ShapeRange.Height = 35.5
.ShapeRange.Width = 61#
End With
GYO = GYO + 3
End If
End With
Next objFile
End Sub
No.1
- 回答日時:
状況がよくわかりません。
ただ、あるディレクトリにあるjpg画像を、activesheetに貼り付けるだけならば、次のようなマクロでも動きます。
(ネットワークドライブのサブフォルダの中の写真なので遅いですが)
Sub Macro1()
For i = 1 To 12
myName = "Y:\70XZR3\131_FUJI\DSCF1" & Right("000" & i, 3) & ".jpg"
ActiveSheet.Pictures.Insert(myName).Select
myRow = 3 + i * 4
With Selection
.Top = Cells(myRow, i + 6).Top
.Left = Cells(myRow, i + 7).Left
.ShapeRange.Height = 35.5
.ShapeRange.Width = 61#
End With
Next i
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAマクロ 決まっていない行を選択して別シートへ貼付け 4 2023/02/16 16:08
- Visual Basic(VBA) Outlook VBAについて 1 2023/07/10 12:41
- Excel(エクセル) Excelに文字データのみを貼り付けたい 8 2023/05/03 15:38
- Visual Basic(VBA) PowerPoint VBA で画像の鮮明度を変更する方法がわかりません 2 2023/03/24 13:34
- Excel(エクセル) マクロVBA別Excelブックにデータ転記 2 2022/07/10 23:35
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- Excel(エクセル) Excelの複数ファイルの複数行を別ファイル1つのシートにVBA、マクロで集約する方法 5 2022/09/13 06:30
- Excel(エクセル) EXCEL マクロで 同じフォルダ内の複数ファイルの複数行全体を選択して1つのファイルに集約 4 2022/09/27 18:41
- Excel(エクセル) 【マクロ】プリントスクリーンした画像をエクセルに貼付して印刷したい 6 2022/11/30 20:11
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/04 17:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数のデータ系列の線の太さを...
-
ファイル名を今日の日付、時刻...
-
cellsで特定の離れた範囲を選択...
-
【ExcelVBA】クエリの更新とピ...
-
VBAに詳しい方教えてください。
-
エクセルでツールバーに「縮小...
-
Pictures.Insertメソッド⇒Shape...
-
VBA[Private Sub]のコードをシ...
-
エクセルシートをまとめて印刷...
-
Powerpointでランダムな数字の...
-
ピボットグラフの書式の固定に...
-
ExcelのVBAでWordの書式を変更...
-
エクセル2007 テキストボ...
-
エクセルのストップウォッチ
-
VBA ChartWizardで円グラフが書...
-
VBAで実行時エラー '1004'の解...
-
どのドキュメントは暗号化され...
-
VBAを使ってエクセルシート...
-
Word VBAでWindows media playe...
-
Wordのマクロから書式(O)⇒箇条...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数のデータ系列の線の太さを...
-
ファイル名を今日の日付、時刻...
-
エクセルでツールバーに「縮小...
-
cellsで特定の離れた範囲を選択...
-
VBA[Private Sub]のコードをシ...
-
エクセルシートをまとめて印刷...
-
ピボットグラフの書式の固定に...
-
最初の1回のみにボタンクリッ...
-
VBAを使ってエクセルシート...
-
【ExcelVBA】クエリの更新とピ...
-
別ブックからユーザーフォーム...
-
Powerpointでランダムな数字の...
-
エクセルのマクロでSelection.S...
-
どのドキュメントは暗号化され...
-
Pictures.Insertメソッド⇒Shape...
-
エクセルワークシート上に印刷...
-
Excelのラジオボタンにチェック...
-
エクセル2007 テキストボ...
-
エクセル vba クリック~離し...
-
ユーザーフォームを「Esc」キー...
おすすめ情報
大変失礼をいたしました。
前回の質問のURLを添付いたします。
https://oshiete.goo.ne.jp/qa/9012483.html
お騒がせして申し訳ありませんでした。
何とか自力で解決できそうです。
ただ、対処の方法が合っているかは分かりませんが
いろいろありがとうございました。