
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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルから、パワーポイントのスライドを複数作成する。 1 2022/07/08 09:40
- Visual Basic(VBA) VBA This Workbookモジュールを別ファイルにコピーする方法 1 2022/09/14 01:51
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
このQ&Aを見た人はこんなQ&Aも見ています
-
ExcelのVBAで、選択したファイルが既に開かれているか確認したい
Excel(エクセル)
-
【VB.NET】 パワポ操作を非表示で
Visual Basic(VBA)
-
パワーポイントのVBAでテキストボックスに値を変更させたいです
Visual Basic(VBA)
-
-
4
VBAで既存のパワポのファイルを開くには?
Access(アクセス)
-
5
VBAで既に開いている別アプリケーションのオブジェクトを得る
Visual Basic(VBA)
-
6
エクセルVBAを使用し、指定のパワーポイントをPDF保存する方法
Excel(エクセル)
-
7
PowerPoint の VBA
Visual Basic(VBA)
-
8
なぜマクロの記録がなくなってしまったのでしょうか?
Excel(エクセル)
-
9
VBAでアクティブなファイルを切り替える
PowerPoint(パワーポイント)
-
10
PowerPointVBAでスライドマスター上での編集
PowerPoint(パワーポイント)
-
11
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
12
エクセルマクロにてパワーポイントのリンク更新をさせたい
Excel(エクセル)
-
13
【PowerPoint VBAの高速化】
その他(プログラミング・Web制作)
-
14
PowerpointVBAで指定のShapeオブジェクトを削除したい。
Visual Basic(VBA)
-
15
実行時エラー 438になった時の対処法を教えて下さい。
Visual Basic(VBA)
-
16
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
17
VBAでPowerPointからExcelにデータを抽出する
Visual Basic(VBA)
-
18
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
19
EXCEL VBA 指定したファイルが存在しない場合メッセージボックスを表示させる
Access(アクセス)
-
20
エクセルのVBAで開いているパワーポイントのファイルを印刷
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
パワーポイントのスライドを取...
-
ExcelVBAにて既に開かれているP...
-
パワーポイントをリンクさせる
-
PPTで複数ファイルのスライドを...
-
画像の縦横比が狂ってしまうの...
-
図の入ったワードの文章を、パ...
-
大至急 パワーポイントデータを...
-
パワーポイント→フォトショップ
-
パワーポイントでスライドごと...
-
パワーポイントで一ページだけ...
-
トイレスライド錠の分解の仕方
-
パワーポイントで動画再生後次...
-
パワーポイントをPDF化するとレ...
-
パワーポイント アニメーショ...
-
30分間の発表の原稿
-
パワーポイント2007で、スライ...
-
パワーポイント、途中までしか...
-
パワーポイントをノートつきで...
-
pdfファイルをスライドショーで...
-
パワーポイントのスライド名変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パワーポイントのスライドを取...
-
パワーポイントをリンクさせる
-
PPTで複数ファイルのスライドを...
-
画像の縦横比が狂ってしまうの...
-
図の入ったワードの文章を、パ...
-
ExcelVBAにて既に開かれているP...
-
パワーポイントで作ったスライ...
-
パワーポイントで他のファイル...
-
Googleスライドについて
-
スライド動画作り方
-
パワーポイントpowerpointでユ...
-
縦長のスライドを横長のパワー...
-
ノンリニア編集 文字のちらつ...
-
PowerPointで長体の文字を挿入...
-
パワーポイントのスライドをフ...
-
パワーポイント2000で作ったス...
-
パワーポイントスライド
-
パワーポイントで、はじめのペ...
-
大至急 パワーポイントデータを...
-
mac作成のパワポデータがwinで...
おすすめ情報