
Excel2010です。
題名の通り既に開かれてるパワーポイントのファイル「test.pptx」をExcelVBAにて
操作するためにはどのようにしたら良いでしょうか?
調べたところ新規作成やオープンしてからの操作の記述は見つかりましたが
既に開かれてるpptxを操作するコードが見つからなかったので
こちらで質問させていただきました。
是非とも宜しくお願いします。
Sub PowerPointファイルを開く()
Dim ppApp As New PowerPoint.Application
ppApp.Visible = True
Dim ppPrs As PowerPoint.Presentation
'PowerPoint新規作成
'Set ppPrs = ppApp.Presentations.Open(ThisWorkbook.Path & "\test.pptx")
'PowerPoint新規プレゼンテーション作成
' Set ppPst = ppApp.Presentations.Add(WithWindow:=True)
'既に開かれているpptx取得
Set ppPst = ppApp.Presentations.???
End Sub
No.2ベストアンサー
- 回答日時:
遅くなりました。
5年以上もパワポのマクロを書いていないので、大したものはできませんが、写真を貼り付けるなら、こういうことが可能です。新しいスライドに貼り付けるものです。
その新しいスライドは、最後のスライドをコピーするようにできています。
'//標準モジュール
Sub Pic2PPT()
Dim objPPT As Object 'PowerPoint.Application '参照設定の場合
Dim pic As Variant
Dim pptSlide As Object 'Slide
Dim pCustomtLayout As Object 'CustomLayout
Const ppPasteMetafilePicture As Long = 3 '参照設定していたら不要
Dim i As Long
On Error Resume Next
Set pic = Selection
If TypeName(pic) <> "Picture" Then
MsgBox "画像を選択して、実行してください。", vbCritical
Exit Sub
End If
Set objPPT = GetObject(, "PowerPoint.Application")
If objPPT Is Nothing Then
MsgBox "PowerPointは、立ち上がっていません。", vbExclamation: Exit Sub
Else
With objPPT.ActivePresentation
i = .Slides.Count
.Slides.AddSlide Index:=i + 1, pCustomlayout:=.Slides(i).CustomLayout
pic.Copy
Set pptSlide = .Slides(i + 1)
pptSlide.Shapes.PasteSpecial (ppPasteMetafilePicture)
End With
End If
AppActivate objPPT.ActiveWindow.Caption & " - PowerPoint" 'PPTのアクティベート
Set objPPT = Nothing
If Err.Number <> 0 Then
MsgBox "失敗しました。", vbCritical
End If
On Error GoTo 0
End Sub
'Excelの見本の画面・ボタンはフォームボタン

No.1
- 回答日時:
こんばんは。
こうしてみたらいかがでしょうか。
Sub GetPPT()
Dim objPPT As Object
On Error Resume Next
Set objPPT = GetObject(, "PowerPoint.Application")
If objPPT Is Nothing Then
MsgBox "PowerPointは、立ち上がっていません。", vbExclamation: Exit Sub
Else
MsgBox objPPT.Windows.Application.Caption & "は、開かれています。"
End If
End Sub
ありがとうございます。
私の説明不足で申し訳ありませんがこの後の動作としては
「開かれてるパワーポイントにexcelの範囲を画像として貼り付けたい」
でした。
Windfallerさんのコードで開かれてるppstの取得とactive化までは出来ましたが
その後の動作が出来ませんでした。
恐れ入りますがご指導よろしくお願いします。
Dim objPPT As Object
On Error Resume Next
Set objPPT = GetObject(, "PowerPoint.Application")
If objPPT Is Nothing Then
MsgBox "PowerPointは、立ち上がっていません。", vbExclamation: Exit Sub
Else
'MsgBox objPPT.Windows.Application.Caption & "は、開かれています。"
End If
Set ppPst = ppApp.Presentations(objPPT)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ExcelのVBAで、選択したファイルが既に開かれているか確認したい
Excel(エクセル)
-
【VB.NET】 パワポ操作を非表示で
Visual Basic(VBA)
-
VBAで既存のパワポのファイルを開くには?
Access(アクセス)
-
-
4
パワーポイントのVBAでテキストボックスに値を変更させたいです
Visual Basic(VBA)
-
5
【PowerPoint VBAの高速化】
その他(プログラミング・Web制作)
-
6
エクセルマクロにてパワーポイントのリンク更新をさせたい
Excel(エクセル)
-
7
VBAでアクティブなファイルを切り替える
PowerPoint(パワーポイント)
-
8
PowerpointVBAで指定のShapeオブジェクトを削除したい。
Visual Basic(VBA)
-
9
PowerPoint の VBA
Visual Basic(VBA)
-
10
PowerPointVBAでスライドマスター上での編集
PowerPoint(パワーポイント)
-
11
VBAで既に開いている別アプリケーションのオブジェクトを得る
Visual Basic(VBA)
-
12
エクセルのVBAで開いているパワーポイントのファイルを印刷
Visual Basic(VBA)
-
13
VBAでPowerPointからExcelにデータを抽出する
Visual Basic(VBA)
-
14
パワーポイント filedialogでフォルダ名
PowerPoint(パワーポイント)
-
15
なぜマクロの記録がなくなってしまったのでしょうか?
Excel(エクセル)
-
16
実行時エラー 438になった時の対処法を教えて下さい。
Visual Basic(VBA)
-
17
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
18
VBAで、なぜかSendkeyが効きません。
PowerPoint(パワーポイント)
-
19
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
20
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パワーポイントのスライドを取...
-
パワーポイントをリンクさせる
-
図の入ったワードの文章を、パ...
-
ExcelVBAにて既に開かれているP...
-
PPTで複数ファイルのスライドを...
-
パワーポイントでスライドごと...
-
パワーポイント アニメーショ...
-
30分間の発表の原稿
-
パワーポイントをノートつきで...
-
パワーポイントで一ページだけ...
-
トイレスライド錠の分解の仕方
-
パワーポイント、削除したスラ...
-
パワーポイントのスライド名変...
-
PowerPoint スライドの縮小コピー
-
パワーポイントで動画再生後次...
-
パワーポイントのスライドショ...
-
パワーポイントをPDF化するとレ...
-
パワーポイント画面にそのファ...
-
パワーポイントでGIFアニメの再...
-
リモコン、電池の蓋が開かずに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パワーポイントのスライドを取...
-
ExcelVBAにて既に開かれているP...
-
パワーポイントをリンクさせる
-
PPTで複数ファイルのスライドを...
-
図の入ったワードの文章を、パ...
-
画像の縦横比が狂ってしまうの...
-
パワーポイントで作ったスライ...
-
クロームにパスワードの設定で...
-
PowerPoint 2010 の質問です。
-
autorunについて
-
PowerPointで長体の文字を挿入...
-
パワーポイントを皆さんで作成...
-
パワーポイントスライドの合体...
-
パワーポイントの文字の色を変...
-
Power Pointスライドのコピーに...
-
パワーポイントで「2つのファ...
-
パワーポイントのスライドをワ...
-
パワーポイントpowerpointでユ...
-
パワーポイントのスライドをコ...
-
パワーポイントで
おすすめ情報