none
パスワード16文字以上のwordファイルのopenにて2146824090が発生 RRS feed

  • 質問

  • ファイルオープン(Microsoft.Office.Interop.Word.Documents.Open)をコールする際に

    パスワード16文字以上のwordファイル(docx)を試したところ、COMExceptionが発生しました。

    エラーコードは-2146824090です。

    本現象について何か知っている方がいましたら、ご教授お願いします。

    ちなみに、16文字未満のパスワード付きファイルのオープンはできています。

    以下に似たようなスレッドを見つけましたが、同じ状況ということでしょうか。

    <https://social.msdn.microsoft.com/Forums/ja-JP/790bfd82-815b-4da7-a22c-de01cd101bb9/word?forum=netfxgeneralja>


    2016年2月17日 11:44

回答

  • 原因は同じでしょうね。
    Microsoft.Office.InteropはCOM経由で操作しているのでCOMに問題があれば影響を受けてしまいます。

    とりあえず
    Open XML SDK で、暗号化された(つまり読み取りパスワード付きの)Officeファイルを開くことはできますか?
    に書いた方法で、16文字以上のパスワードのかかったdocxを、パスワード解除した拡張子zipになったdocxに変換できることは確認できました。
    一時フォルダなどに一度コピーして解除してから開くという処理にすれば開くことはできるでしょう。

    パスワードをつけて保存できるかまではテストできてません。
     OfficeAgileText.exeのMainから呼んでるEncryptPackageに別のパスワードをつけたsessionや暗号化していないzipファイルを渡せば任意の保存ができることまでは確認できました。
    ただし、wordで開くと改竄されているかもしれないという警告がでるので、不完全な暗号化処理なのかもしれません。


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    • 編集済み gekkaMVP 2016年2月17日 14:56 保存テスト結果追加
    • 回答の候補に設定 星 睦美 2016年2月22日 5:20
    • 回答としてマーク 星 睦美 2016年4月18日 7:48
    2016年2月17日 13:42

すべての返信

  • 原因は同じでしょうね。
    Microsoft.Office.InteropはCOM経由で操作しているのでCOMに問題があれば影響を受けてしまいます。

    とりあえず
    Open XML SDK で、暗号化された(つまり読み取りパスワード付きの)Officeファイルを開くことはできますか?
    に書いた方法で、16文字以上のパスワードのかかったdocxを、パスワード解除した拡張子zipになったdocxに変換できることは確認できました。
    一時フォルダなどに一度コピーして解除してから開くという処理にすれば開くことはできるでしょう。

    パスワードをつけて保存できるかまではテストできてません。
     OfficeAgileText.exeのMainから呼んでるEncryptPackageに別のパスワードをつけたsessionや暗号化していないzipファイルを渡せば任意の保存ができることまでは確認できました。
    ただし、wordで開くと改竄されているかもしれないという警告がでるので、不完全な暗号化処理なのかもしれません。


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    • 編集済み gekkaMVP 2016年2月17日 14:56 保存テスト結果追加
    • 回答の候補に設定 星 睦美 2016年2月22日 5:20
    • 回答としてマーク 星 睦美 2016年4月18日 7:48
    2016年2月17日 13:42
  • 聞くだけでなく、Wordのバージョンを明記しませんか?
    2016年2月17日 14:05
  • gekka 様

    ご返信ありがとうございます。
    対処方法についてもご回答ありがとうございます。
    とりあえずは制限事項として取り扱いたいと思います。
    2016年2月18日 9:55
  • 佐祐理 様

    失礼致しました。
    WordファイルのバージョンはOffice 2010です。
    またこちらで確認した環境は以下です。
    ・Office 2010 SP1、SP2
    ・Office 2013 SP1
    2016年2月18日 9:56