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

関連記事

  1. Office アドイン

    [Officeアドイン]組み込みのワークシート関数を呼び出す方法

    下記記事でOffice アドインから独自のユーザー関数を呼び出す方法を…

  2. Office関連

    Acrobat XIを操作してテキスト認識操作を行うVBAマクロ

    マクロからAcrobatを操作する場合「PDFファイル上のフィールドの…

  3. Office関連

    [VBA]DataObjectを使ったクリップボード操作が上手くいかない場合の対処法

    VBAマクロからクリップボードを操作する場合、定番となっているのがDa…

  4. アイコン一覧

    Office 2013 アイコン一覧(O)

    ・Office 2013 アイコン一覧 NUM…

  5. Office関連

    セルの行数をカウントするWordマクロ

    「ソースコードを番号行付きのテーブルに変換するWordマクロ」を実行し…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

RapidSSL_SEAL-90x50
PAGE TOP