0

com4jを使用して.docファイルを印刷しようとしています。これは私のコードです:

document.printOut2000(true, false, WdPrintOutRange.wdPrintAllDocument, newDocumentPath, _, _, WdPrintOutItem.wdPrintDocumentContent, 1, _, WdPrintOutPages.wdPrintAllPages, true, true, _, false, 0, 0, 0, 0);

記録されたWord-Macroとhttp://msdn.microsoft.com/en-us/library/microsoft.office.tools.word.document.printout(v=VS.80).aspxから値を取得しました

しかし、私が得るのは次のエラーだけです:

予期しないエラーがJavaランタイム環境によって検出されました。

EXCEPTION_ACCESS_VIOLATION(0xc0000005)at pc = 0x770f48f9、pid = 3792、tid = 5996

Java VM:Java HotSpot(TM)クライアントVM(11.0-b16混合モード、共有ウィンドウ-x86)問題のあるフレーム:C [OLEAUT32.dll + 0x48f9]

どうすればこれを解決できるのでしょうか?

編集:Com4jがドキュメントを開いているので、前の方法の結果は問題ではないと思いますが、ヒントを提供してくれたDTHに感謝します。

4

1 に答える 1

0

アクセス違反は、多くの場合、バッファーの上書きやヌル ポインターなどのメモリの問題に関係しています。コードを再度確認し、印刷前にドキュメントの準備に使用しているメソッドの結果を制御して、それらが正しく機能しているかどうかを確認することをお勧めします。

それについてはよくわかりませんが、試してみてください。問題の解決策になるかもしれません。

于 2010-09-09T17:17:10.580 に答える