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関連

    Wordマクロで文字数を取得する方法をまとめてみました。

    「蛍光ペンでマークした部分の文字数をカウントするWordマクロ」で蛍光…

  2. アイコン一覧

    Office 365アイコン(imageMso)一覧(J)

    Office 365のデスクトップ版Officeアプリケーション(Wo…

  3. Office関連

    VBE用のCOMアドインをメモ帳で作ってみる。

    “Officeアプリケーション用のCOMアドインをVisual Stu…

  4. Office関連

    「ExcelVBAを実務で使い倒す技術」レビュー

    @ateitexeさんの下記ツイートで、高橋宣成氏が執筆された「Exc…

  5. Office関連

    ファイルをBase64エンコード・デコードするVBAマクロ

    以前書いたファイルのBase64エンコード・デコード処理を行うVBAマ…

コメント

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

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

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

PAGE TOP