パワーポイントのVBAから別のパワーポイントファイルを、読み取り専用で開きたいのですが
ReadOnly=Trueに設定しても、
書き込みパスワード付きファイルの場合、パスワード入力か読み取り専用で開くかを選択するダイアログが表示されてしまい、
書き込みパスワード無しファイルの場合、書き込みできる状態でファイルを開いてしまいます。
読み取り専用で開いてくれないのですが、
そもそもこのパラメータはこういう使い方ではないのでしょうか?
- できれば書き込みパスワード付きの状態で、選択ダイアログを出さずに読み取り専用で開きたい
- 1が無理なら、書き込みパスワード無しでもいいので、読み取り専用で開きたい
上記を満たす方法はありますでしょうか?
宜しくお願い致します。
vba
1Public Sub ReadOnlyOpen() 2 Dim ppt As PowerPoint.Presentation 3 Set ppt = Presentations.Open("ファイルパス", ReadOnly:=msoTrue) 4 5 'こっちでも同じ 6 'Presentations.Open FileName:="ファイルパス", ReadOnly:=msoTrue 7End Sub
参考にしたドキュメント
https://docs.microsoft.com/ja-jp/office/vba/api/powerpoint.presentations.open
###追記
jinojiさんから頂いた回答の結果と、そのNG理由を追記致します。
vba
1Set pptRo = Presentations.Open("ファイルパス" & "::::" & "パスワード", ReadOnly:=msoTrue)
上記で開くと、たしかに読み取り専用と表示され、上書き保存も出来ないのですが
この場合だと、選択ダイアログで「読み取り専用で開く」で開いた時と異なり
スライド内にテキストやオブジェクトの追加、削除等が出来てしまいます。
そしてその編集した状態で、上書きはできませんが、別名保存は出来てしまいます。
厳密に読み取り専用で開くとは異なる表示でしたので、解決とはいきませんでした…
どうも読み取り専用は2パターンある様ですね。
・パスワードかかっているのを触れないように見るだけで開くモード
・誰かが先に開いているファイルを上書きしないように開くモード
私がやりたい読み取り専用は前者の方なのですが、
どうもここでいうReadOnlyというのは、後者の方のことを指しているような気がします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/11 04:04
2021/03/11 05:21
2021/03/11 06:10