2017-03-29 15 views
1

ストリーム、メモリファイルまたは独立したストレージからプレゼンテーションを開く方法はありますか?ストリームからの文書を開く

私はPowerPointで開きたいプレゼンテーションファイルを持っていますが、ユーザーがそのファイルにアクセスすることを許可したくありません。残念ながら、PowerPointのPresentations.Open()機能(および他のOfficeアプリケーションのOpen())はパスパラメータのみを受け入れます。つまり、ファイルをディスクのどこかに保存してからPowerPointで開く必要があります。

誰でもこれをどのOfficeアプリケーションで行っていますか?

+0

URLからファイルを開くだけで十分です(ユーザーに公開されていないファイル)。これは、少なくともプレゼンテーションが開いている時間、おそらく長時間の間、一時的にユーザのHDDに一時ファイルを残してしまうため、許容できない可能性があります。 –

+0

@SteveRindsberg:はい、その一時ファイルは受け入れられません。 Officeアプリケーションでは、Office Backstage([情報]タブ)にドキュメントのパスが常に表示されるため、ドキュメントの場所が分かりにくくなります。 – dotNET

答えて

0

OpenXML SDKはopen documents from a streamには使用できますが、Officeアプリケーションでは使用できません。

しかし、動機がある場合は、ファイルを閉じた後にファイルを削除することができます。これはかなりシンプルですが、別のプロセスを作成して、ファイルをもう書き込むためにロックされないようにする必要があります。また、閉鎖時(たとえば、コードで終了する場合)には、別のプロセスは必要ないかもしれません。

+0

しかし、ファイルがアプリケーションで開いている間に、Officeアプリケーションは常にそのパスを表示しますので、簡単にコピーできます。 – dotNET

+0

あなたはそうです。あなたはそれらのコピーを防ぐことはできません。開いているパワーポイントがVSTOテンプレート/ドキュメントの場合、承認された方法でドキュメントが開かれていない場合、ドキュメントのプロパティや変数を設定してドキュメントを自動クローズできるようにすることもできますが、その方法もあります。本当に完全に制御する方法はありません。 – Chris

関連する問題