Excel VBAでPowerPointファイルを読み取り専用で開くと編集ができなくなりました

Nao 20 評価のポイント
2026-06-26T02:40:21.32+00:00

Microsoft 365 Version 2606 (Build 20131.20044) を使用しています。

Excel VBA から PowerPoint をオートメーション操作しています。

PowerPoint を次のように開いています。

Set ppApp = CreateObject("PowerPoint.Application")
Set ppPres = ppApp.Presentations.Open(FileName:=FilePath, ReadOnly:=msoTrue)

この方法で開いた場合、プレゼンテーションは読み取り専用(Presentation.ReadOnly = True)になります。

その状態で、スライドの追加や図形の生成などの編集処理を実行しようとすると、処理が実行できない、またはエラーが発生します。

また、PowerPoint上で手動編集を行うこともできません。

一方で、PowerPointファイルを Windows のファイルプロパティで「読み取り専用」に設定し、

ReadOnly:=msoFalse(通常オープン)で開いた場合は、同じ編集操作を実行でき、最後に手動で「名前を付けて保存」を行うことも可能です。

以前までは、Presentations.Open(ReadOnly:=msoTrue) を指定した場合でも、同じコードで問題なく動作していました。

Presentations.Open(ReadOnly:=msoTrue) を指定した場合に編集操作ができない現在の挙動は、PowerPointの仕様でしょうか。

それとも、Microsoft 365 Version 2606 で変更された仕様、または不具合でしょうか。

もし仕様であれば、ReadOnly:=msoTrue のままプレゼンテーションを編集し、

最後に手動で「名前を付けて保存」ができる方法はありますでしょうか。

開発者テクノロジ | Visual Basic for Applications

質問作成者が受け入れた回答

simo-k 87,400 評価のポイント ボランティア モデレーター
2026-06-26T10:11:02.2266667+00:00

> Microsoft 365 Version 2606 (Build 20131.20044) を使用しています
6/12付け プレビュー版 バージョン 2606 (ビルド 20131.20044)の様ですね。
バージョン依存かどうかを確認する為に旧ビルドにロールバックしてみたら如何でしょうか?
製品版も試してみてください。
Office 向けリリース ノートの最新チャネル (プレビュー)

> Microsoft 365 Version 2606 で変更された仕様、または不具合でしょうか
VBAそのものは長期的に変わっていないでしょう。
リリースノートで仕様変更についてアナウンスされるレベルではないと思いますので自身で検証して仕様変更の有無などを確認するしかないかと思われます。

どこに保存しているファイルでしょうか?
OneDriveやSharePointが関連していたりしますか?
VBA以外での外的要因の可能性の方が高いかと思われます。

この回答は役に立ちましたか?

1 人がこの回答が役に立ったと思いました。

0 件の追加の回答

並べ替え方法: 最も役に立つ

お客様の回答

質問作成者は回答に "承認済み"、モデレーターは "おすすめ" とマークできます。これにより、ユーザーは作成者の問題が回答によって解決したことを把握できます。