2017-05-26 10 views
1

私はパスワードで保護されたPowerPointファイルを持っています。これは、ファイルとやりとりしているオペレータが文字通り読み書きできないためです。編集可能なファイルを誤って破棄する可能性があります。読み取り専用PowerPointファイルでVBAコードを実行する方法

私はあまり深く入る前に、私は、言う必要があります...私はこのケースでは動作しません解決策を持っているこの質問、検索した:Click Me

を私はそれらを可能にする簡単なVBAスクリプトを書きました部品番号を検索するには、PowerPointスライドを使用して正しい部品番号を見つけ出すのではなく、コンピュータには使用されていないか、PowerPointが何であるかを知ることさえありません。

いずれにしても、スクリプトは自分のコンピュータで正常に動作しますが、明らかにVBAコードを編集するためにパスワードを入力する必要があります。コードを読み取り専用モードで実行しようとすると、エラーが発生します。"Run-time error '-2147467259 (80004005)' Presentation (unknown member) : Invalid request. Presentation cannot be modified."

本質的に、コードを読み取り専用モードで実行できないことがわかりました。

エラーは、実際にこのコードスニペットで発生:行ActivePresentation.FollowHyperlink Address:=sFile

'Follow the hyperlink to opent the correct file 
    If Len(Dir$(ActivePresentation.Path & "\" & sFile)) > 0 Then 
     ActivePresentation.FollowHyperlink Address:=sFile 
    Else 
     MsgBox "No file exists at path " & ActivePresentation.Path & "\" & sFile 
    End If 

を。

私は読書専用モードでプレゼンテーションとは別の方法でPDFファイルを開くことができますか?

+0

この場合、リンクされた質問/解決策はなぜ機能しませんでしたか? –

+0

シートが危険なので、シートの保護を解除することはできません。従来、従業員の中には、誠意を持って問題を解決しようとしていた人がいましたが、DCトルクツールの再プログラミングが終了しました。私は、誤ってファイルを台無しにしている人の混乱と頭痛を完全に避けたいと思います。 – ilarson007

答えて

0

パスワードを指定しないでパスワードで保護されたファイルを開くことはできません。

セットoPres = Presentations.Open( "C:\ TEMP \ open.pptx :: PWD ::")

Cあなたがこれを行うことができ、パスワードを供給することにより、VBAでファイルを開くには :\ temp \ open.pptxはファイルへのパスで、pwdはパスワードです。

これはファイルを開くので、あなたの同僚はそれを編集することができるので、実際のファイルを一時フォルダにコピーすることをお勧めします。次に、次にコードを実行したときに既存のコピーを削除します。

+0

私はパスワードで保護されたPowerPointファイルよりも別のファイル(pdfファイル)を開いているので、なぜ開くことができないのか分かりにくいです。 PPTファイルは一度開かれ、開いたままです。 – ilarson007

+0

ShellExecuteを使用してPDFを起動することを検討しましたか?あなたがそのプラスVBAのためにGoogleの場合、いくつかの例を見つけるでしょう。 –

関連する問題