32 ビット バージョンの DSOFile.dll 2.1 を使用して Office ドキュメントから共通プロパティを読み取る 32 ビット .NET アプリケーションがあります。これは、Office 2003 と Office 2007 の両方のドキュメントで、32 ビット バージョンの Windows で機能します。現在、64 ビット環境、特に 64 ビット Windows Server 2008 でのアプリケーションの動作を調べています。
この 64 ビット環境では、DSOFile.dll は Office 2003 ドキュメント (DOC など) からプロパティを正常に読み取ることができますが、Office 2007 ドキュメント (DOCX など) の場合は、すべてのプロパティに対して空の文字列のみが返されます。エラーが発生します。
ここに私の観察があります:
環境: クリーン インストール
DOC 小道具
の読み取り: OK DOCX 小道具の読み取り: 空の値が返されました
環境: Office 2007 互換性パックがインストールされて
います DOC
プロパティの読み取り: OK DOCX プロパティの読み取り: 空の値が返されました
環境: Office 2007 Compatibility Pack SP1
DOC
プロパティの読み取り: OK DOCX プロパティの読み取り: 空の値が返される
環境: Office 2007 がインストールされて
います Read DOC props: OK
DOCX props を読みます: エラー メッセージ = "ドキュメントは OLE ファイルではありません"
64 ビット システムでは、%SystemRoot%\Syswow64 にある regsvr32 のコピーを使用して、dsofile.dll を登録しました。
アドバイスをいただければ幸いです。