[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『既存のパワポスライド内に指定フォルダの画像ファイルを1枚ずつ貼りつけたい。』(help)
初めまして。
helpです。
今回は、パワポ内に画像を1枚ずつ貼りつけたい
ということで質問したく投稿しています。
下記のようなVBAは見つけられました。
Public Sub addPhotoParPage()
Dim i As Integer
Dim strPath As String
Dim objFileSystem As Object
Dim objFolder As Object
Dim objFile As Object
strPath = BrowseForFolder()
If strPath = "" Then
Exit Sub
End If
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFileSystem.GetFolder(strPath)
i = 0
For Each objFile In objFolder.Files
' スライドの追加
ActivePresentation.Slides.Add( _
Index:=ActivePresentation.Slides.Count + 1, _
Layout:=ppLayoutText).Select
' 画像の挿入
ActiveWindow.Selection.SlideRange.Shapes.AddPicture( _
FileName:=objFile.Path, _
LinkToFile:=msoFalse, _
SaveWithDocument:=msoTrue, _
Left:=0, _
Top:=0).Select
' 50 回に一回 DoEvents 発生
i = i + 1
If i Mod 50 = 0 Then
DoEvents
End If
Next
Set objFile = Nothing
Set objFolder = Nothing
Set objFileSystem = Nothing
End Sub
Private Function BrowseForFolder(Optional varRoot As Variant) As String
Dim objFolder As Object
' フォルダ選択ダイアログを表示
Set objFolder = CreateObject("Shell.Application").BrowseForFolder( _
0, _
"画像があるフォルダを選択してください", _
&H11, _
varRoot)
' 選択内容を取得
If Not (objFolder Is Nothing) Then
BrowseForFolder = objFolder.Items.Item.Path
Else
BrowseForFolder = ""
End If
Set objFolder = Nothing
End Function
しかし、これだと新規でスライドを作成して画像を挿入して貼り付けてしまうため
既存のスライドを使うことができません。
あまりVBAが分からないのでどこをどう変えていいのかも分かりません。
ネット中を2日ほど20時間以上調べたのですが見つかりません。
アドバイスいただけないでしょうか?
よろしくお願いいたします。
< 使用 Excel:Excel2013、使用 OS:Windows7 >
ご提示のソースコードは、PPT用マクロであり、ExcelのVBAではありません。
PPTを制御するマクロは作った事が無かった事が無かったのですが、こんな感じかと思います。
Sub test()
Const cPATH = "c:\test\"
Const cPIC = "c:\test\test.png"
Dim PPT As Object
Dim cFile As String
Set PPT = CreateObject("PowerPoint.Application")
cFile = Dir(cPATH & "*.ppt*")
While cFile <> ""
PPT.Presentations.Open cPATH & cFile
PPT.ActiveWindow.View.GotoSlide (1)
PPT.ActiveWindow.Selection.SlideRange.Shapes.AddPicture cPIC, msoFalse, msoTrue, 0, 0
PPT.ActivePresentation.Save
PPT.ActivePresentation.Close
cFile = Dir
Wend
PPT.Quit
End Sub
(???) 2015/09/25(金) 11:13
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.