Sub Macro1() Dim objPpt As Object '実行時バインディングなのでPowerPointの参照設定は不要 Dim objFile As Object strPPTFullPath = "C:\test\output.ppt" Set objPpt = CreateObject("PowerPoint.Application") objPpt.Visible = True objPpt.Presentations.Open Filename:=strPPTFullPath, ReadOnly:=msoFalse Set objFile = objPpt.ActivePresentation objFile.Slides(2).Shapes(1).TextFrame.TextRange = Range("A1") objFile.Save objFile.Close objPpt.Quit End Sub
objFile.Slides(2).Shapes(1).TextFrame.TextRange = Range("A1")
ここの箇所ですが
Slides(2)は 2番目のスライド
Shapes(1)は1番目のテキスト(などのような類のもの)を 表しています。
うまくいかない場合は、ここの値を調整してみてください。
あと
strPPTFullPath = "C:\test\output.ppt"
は パワーポイントのファイルのフルパスを指定してください。
▽2
●
きゃづみぃ ●500ポイント ベストアンサー |
こちらは ファイルを生成します。
Sub Macro1() Dim objPpt As Object '実行時バインディングなのでPowerPointの参照設定は不要 Dim objFile As Object strPPTFullPath = "C:\test\output.ppt" Set objPpt = CreateObject("PowerPoint.Application") objPpt.Visible = True objPpt.Presentations.Add Set objFile = objPpt.ActivePresentation Set pslide1 = objFile.Slides.Add(1, 12) Set pslide2 = objFile.Slides.Add(1, 12) objPpt.Presentations(1).Slides(2).Shapes.AddTextbox(msoTextOrientationHorizontal _ , 100, 100, 200, 50).TextFrame.TextRange.Text = Range("A1") objFile.SaveAs strPPTFullPath objFile.Close objPpt.Quit End Sub