Access VBAで、Excelブックを読み取り専用で開くプロシージャと、Word文書を読み取り専用で開くプロシージャについて記事にしています。
PowerPointファイルを読み取り専用で開くプロシージャも、紹介しておきましょう。
PowerPointファイルを読み取り専用で開くサンプルプロシージャ
Cドライブのtempフォルダーにsample.pptxを用意しておいて、以下のSubプロシージャを実行してください
On Error GoTo ErrHandl
Dim pp_app As Object
Set pp_app = CreateObject(Class:="PowerPoint.Application")
pp_app.Visible = True
Dim pp_prs As Object
Set pp_prs = _
pp_app.Presentations.Open("C:\temp\sample.pptx", ReadOnly:=True)
Set pp_prs = Nothing
Set pp_app = Nothing
Exit Sub
ErrHandl:
Select Case Err.Number
Case -2147467259
MsgBox "指定されたプレゼンテーションファイルが見つかりません。"
Case Else
MsgBox Err.Description & vbCrLf & Err.Number
End Select
Err.Clear
End Sub
サンプルプロシージャで行っている処理
プロシージャ全体の流れとしては、ご紹介済みのExcelやWordの場合と同じです。
もちろん、CreateObject関数の引数に指定する文字列は異なります。
Set pp_app = CreateObject(Class:="PowerPoint.Application")
PowerPointファイルを開くコードは、拙著『いちばんやさしいPowerPoint VBAの教本』の、[Lesson 19 プレゼンテーションを作成、開くメソッドを学習しましょう][Lesson 20 Presentationsコレクションをオブジェクトブラウザーで確認しましょう]でも解説している、Presentations.Openメソッドを使っています。
Dim pp_prs As Object Set pp_prs = _ pp_app.Presentations.Open("C:\temp\sample.pptx", ReadOnly:=True)
ExcelのWorkbooks.Open、WordのDocuments.Openと指定できる引数はよく似ており、引数ReadOnlyにTrueを指定すれば読み取り専用になります。
Excel・Word・PowerPointと、実際に操作するオブジェクトはまったく別ですが、Microsoftが同じルールに則って実装しているため、似たコードで読み取り専用で開くことができます。
最終更新日時:2024-03-09 15:02
- Newer:Word VBAでフィールドコードを取得する
- Older:MergeCellsとMergeの違い
Home » Access VBA » Access VBAでPowerPointファイルを読み取り専用で開く