Home » エクセルマクロ・Excel VBAの使い方 » Office連携 » Excel VBAでパワポファイルを読み取り専用で開く

Excel VBAでパワポファイルを読み取り専用で開く

動作検証バージョン:Windows 11 Home + 64bit Excel & PowerPoint バージョン 2402(ビルド17315.20000クイック実行)ベータチャネル

「vba パワポを読み取り専用で開く createobject」
といった検索キーワードで、このサイト『インストラクターのネタ帳』へアクセスがありました。

Excel VBAなどを使って、パワポファイルを読み取り専用で開くには、どのようなコードを書けばいいのかを調べていらしたのでしょう。

結論。
PowerPointのPresentations.Openメソッドの引数ReadOnlyにTrueやmsoTrueを指定すると、読み取り専用で開くことができます。

パワポファイルを読み取り専用で開くサンプルマクロ

先頭のスライドの1つ目のShapeに何らかの文字列を入力したpptxファイルを、Cドライブtempフォルダーに、samp.pptxとして保存しておいてから、以下のExcelマクロを実行してください。

Sub PPTXファイルを開いて先頭スライドの1つ目のShapeの文字列を取得する()

 With CreateObject("PowerPoint.Application")
  .Visible = True
    
  With .Presentations.Open("C:\temp\samp.pptx", ReadOnly:=msoTrue)
   MsgBox .Slides(1).Shapes(1).TextFrame.TextRange.Text
  End With
  
 End With

End Sub

C:\temp\samp.pptxファイルが読み取り専用で開かれ、先頭スライドの1つ目のShapeの文字列がメッセージボックスに表示されます。

パワポファイルを読み取り専用で開くマクロで行っている処理

パワポファイルを読み取り専用で開いているのは、

  With .Presentations.Open("C:\temp\samp.pptx", ReadOnly:=msoTrue)

の行です。

PresentationsコレクションのOpenメソッドの引数ReadOnlyに、

msoTrueを指定することで、読み取り専用でプレゼンテーションファイルを開いています。

「vba パワポを読み取り専用で開く createobject」
と検索なさった方は、もしかするとCreateObject関数の引数などで、読み取り専用になると考えていらしたのかもしれませんが、違います。

最終更新日時:2024-01-23 17:35

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Office連携 » Excel VBAでパワポファイルを読み取り専用で開く

「Office連携」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.