くぴんのブログ

くぴんのブログ

PR

×

プロフィール

くぴん74

くぴん74

カレンダー

カテゴリ

お気に入りブログ

2026~27主力株概況4… みきまるファンドさん

DOW 51561.93 +874.8… どらりん0206さん

楽天ラッキーくじ更… じゃっかすさん

自分を愛することは… まりあのじいじさん
パワーアシストロボ… jhiranoさん

キーワードサーチ

▼キーワード検索

2018年01月26日
XML
テーマ: VBAマクロ集(1)
カテゴリ: プログラミング
大量の画像をパワーポイントに貼付ける必要があり、"ppt 画像挿入 マクロ"でググると以下のサイトが見つかった。

https://www.ka-net.org/blog/?p=8228

これを少し編集し、タイトルにファイルパス、テキストとして"サンプル"を挿入するようにしてみた。画像はpngのみを対象としている。1つのスライドに1枚の画像が挿入される。

-----ここから
Sub InsertImages()
'指定したフォルダ内の画像ファイルを一括挿入
Dim prs As PowerPoint.Presentation
Dim sld As PowerPoint.Slide
Dim shp As PowerPoint.Shape
Dim txt As PowerPoint.Shape

Dim fol As Object, f As Object
Dim fol_path As String
'開いているプレゼンテーションをprsに格納
Set prs = ActivePresentation

'スライドショー表示になっていたら解除
If SlideShowWindows.Count > 0 Then prs.SlideShowWindow.View.Exit

With ActiveWindow
tmp = .ViewType 'ウィンドウの表示モード記憶
.ViewType = ppViewSlide
End With

'画像フォルダ取得

.BrowseForFolder(0, "画像フォルダ選択", &H10, 0)
If fol Is Nothing Then GoTo Fin
fol_path = fol.Self.Path

'フォルダ内のファイル処理
With CreateObject("Scripting.FileSystemObject")


For Each f In .GetFolder(fol_path).Files
'PNGファイルのみ処理
Select Case LCase(.GetExtensionName(f.Path))
Case "png"
'スライド追加
Set sld = prs.Slides.Add(prs.Slides.Count + 1, ppLayoutChartAndText)
sld.Select
'画像挿入
Set shp = sld.Shapes.AddPicture(FileName:=f.Path, _
LinkToFile:=False, _
SaveWithDocument:=True, _
Left:=0, _
Top:=0)
With shp
.LockAspectRatio = True '縦横比を固定

.Select
'画像サイズ変更
.Width = .Width * 0.85
.Height = .Height * 0.85
End With

'画像をスライド中央に配置
With ActiveWindow.Selection.ShapeRange
.Align msoAlignCenters, True
.Align msoAlignMiddles, True
End With
End Select
'スライドタイトルをファイルパスに変更
sld.Shapes(1).TextFrame.TextRange.Text = f.Path
'テキスト挿入
Set txt = sld.Shapes.AddTextbox( _
Orientation:=msoTextOrientationHorizontal, _
Left:=600, _
Top:=50, _
Width:=250, _
Height:=10)
With txt
.Name = "AddedTextBox"
.TextFrame.TextRange = "サンプル"
.TextEffect.FontSize = 20
End With
Next
End With
Fin:
ActiveWindow.ViewType = tmp 'ウィンドウの表示モードを元に戻す
End Sub
-----ここまで

お役に立てば幸いです。


にほんブログ村 サラリーマン日記ブログ 戦うサラリーマンへ
にほんブログ村





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2018年01月26日 05時55分10秒
コメント(3) | コメントを書く
[プログラミング] カテゴリの最新記事


■コメント

お名前
タイトル
メッセージ
画像認証
上の画像で表示されている数字を入力して下さい。


利用規約 に同意してコメントを
※コメントに関するよくある質問は、 こちら をご確認ください。


Re:パワーポイント 画像挿入 マクロ VBA(01/26)  
ハムハム さん
初めまして。VBA初心者です。同じような操作をしたいと考えております。
画像フォルダの選択の場所にはどのように打ち込めば良いでしょうか?
例えばデスクトップに保存している画像フォルダ内の画像を全て貼りたいと考えているのですが。
お返事いただければ幸いです。 (2020年01月09日 17時10分32秒)

Re:パワーポイント 画像挿入 マクロ VBA(01/26)  
ハムハム さん
追記
Macを使っています (2020年01月09日 17時37分51秒)

Re[1]:パワーポイント 画像挿入 マクロ VBA(01/26)  
ハムハムさんへ
コメントありがとうございます。
返信遅くなり申し訳ありません。

以下が該当箇所ですが、実行してここに来た時に、デスクトップフォルダを指定すればいいはずです。

'画像フォルダ取得
Set fol = CreateObject("Shell.Application") _
.BrowseForFolder(0, "画像フォルダ選択", &H10, 0)
If fol Is Nothing Then GoTo Fin
fol_path = fol.Self.Path

もし、ダイアログなしでデスクトップフォルダを指定したければ、
'画像フォルダ取得
fol_path = "C:\Users\username\Desktop"
のようにします。 (2020年01月27日 21時29分31秒)

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
Design a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: