Home » Access VBA » Access VBAでPowerPointファイルを読み取り専用で開く

Access VBAでPowerPointファイルを読み取り専用で開く

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

Access VBAで、Excelブックを読み取り専用で開くプロシージャと、Word文書を読み取り専用で開くプロシージャについて記事にしています。

PowerPointファイルを読み取り専用で開くプロシージャも、紹介しておきましょう。

PowerPointファイルを読み取り専用で開くサンプルプロシージャ

Cドライブのtempフォルダーにsample.pptxを用意しておいて、以下のSubプロシージャを実行してください

Sub PowerPointファイルを読み取り専用で開く()
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

[スポンサードリンク]

Home » Access VBA » Access VBAでPowerPointファイルを読み取り専用で開く

「Access VBA」の記事一覧

検索


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

.