Office関連

パスワードが設定されたファイルを開くPowerPointマクロ

WordやExcelと違って、PowerPointの場合はOpenメソッドでファイルを開く際にパスワードを指定するオプションがありません。

PowerPointのマクロで、パスワードが設定されたファイルを開きたいときにどうするかというと、下記コードのようにファイルパスの後に「:」(コロン)を2つつけてパスワードを繋げることで、ファイルを開くことができるようになります。

Option Explicit

Public Sub Sample()
  Const PW_Read As String = "read" '読み取りパスワード
  Const PW_Write As String = "write" '書き込みパスワード
  
  '読み取りパスワードが設定されたファイルを開くとき
  Application.Presentations.Open "C:\Files\ReadPW.pptx::" & PW_Read
  
  '書き込みパスワードが設定されたファイルを開くとき
  Application.Presentations.Open "C:\Files\WritePW.pptx::::" & PW_Write
  
  '両方のパスワードが設定されたファイルを開くとき
  Application.Presentations.Open "C:\Files\PW.pptx::" & PW_Read & "::" & PW_Write
End Sub

■ 参考Webページ

・PowerPoint 2003 post-Service パック 2 の修正プログラム パッケージの説明: 2006 年 3 月 21 日
http://support.microsoft.com/kb/916154/ja

また、2010以降のバージョンの場合は、ProtectedViewWindowsオブジェクトのOpenメソッドであれば「ReadPassword」オプションでパスワードを指定してファイルを開くことができます。

Option Explicit

Public Sub Sample2()
  Application.ProtectedViewWindows.Open "C:\Files\ReadPW.pptx", "read"
End Sub

ただ、不思議なことに下記コードのようにEditメソッドを実行すると、ファイルが開かれると同時に勝手にファイルが閉じてしまいます。
同じプロシージャーを再度実行するとファイルを開いて編集できるようになるのですが、正直よく分からない挙動です。

環境によるものなのかPowerPointの仕様によるものなのかは分かりませんが、とりあえず私の環境(Windows 7 + PowerPoint 2010)では上記のような挙動です。

Option Explicit

Public Sub Sample3()
  Application.ProtectedViewWindows.Open("C:\Files\ReadPW.pptx", "read").Edit
End Sub

[Office用アプリ]Random Data Generator前のページ

目次を更新するWordマクロ次のページ

関連記事

  1. Office関連

    Office 2013 カスタマープレビュー版の「Spy Utility」

    たまたま見つけたWebページ「Office2013のデバッグ用ツールが…

  2. Office関連

    指定したセル範囲をUTF-8やEUC-JP等のテキストファイルとして出力するExcelマクロ

    ExcelファイルをUTF-8のテキストファイルで出力する必要があった…

  3. Windows 10

    【2017年1月版】Microsoft Edgeを操作するVBAマクロ(DOM編)(2)

    昨日の記事で、Microsoft Edgeを操作するVBAコードを改め…

  4. Office関連

    [Office用アプリ]開発ツール「Napa」のインストール方法

    Office 365にはブラウザー上で直接Office用アプリの開発が…

  5. Office アドイン

    Excel向けPower BI カスタム ビジュアル機能の紹介

    Power BI ブログの記事「Excel announces new…

  6. Office関連

    Office 2016関連資料のリンク

    Office 2016関連資料のリンクをメモしておきます。特に「O…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP