6

VB6 では、このエラーが発生することがありますが、再現できません。

実行時エラー '5': 無効なプロシージャ コールまたは引数

「MSWord 10 Object Library」を参照していますが、アプリケーションが MSWord 2002 を開いた後のある時点でこのエラーが発生することがあります。月。

コードは、次を使用してアプリをシェル化しています。

Dim app As Word.Application = GetObject("", "Word.Application")

どこかにバグを導入したと思いますが、何が原因なのかわかりません。エラーは頻繁には発生せず、私がそこに立っているときにユーザーが再現することはできません。このエラーにより、アプリが完全にシャットダウンされます。

ユーザーは Windows XP を実行しています。問題を最も多く報告しているユーザーは、Citrix を介してアプリを実行しています。合計 350 人のユーザーがおり、約 100 人が Citrix を通じてアプリを使用しています。

エラーを修正する方法についてのアイデアはありますか?

4

2 に答える 2

5

VB6 (現在は .net を使用) のメモリから、これはユーザーのマシンのメモリが不足しているか、コードが単語アプリのハンドルを取得できなかったことを示している可能性があります。

Visual Studio 内で問題を発生させることができず、問題の原因となっているコードの行がわからない場合は、問題の原因となっているコードの周りにエラー ハンドラーを追加することをお勧めします。

問題のあるサブの上部に置く

   On Error GoTo MyErrorHandler

そして一番下に置く

   On Error Goto 0
   Exit Sub
MyErrorHandler:
   MsgBox "Error " & Err.Number & " (" & Err.Description & ") at line " & Erl

ここで説明したように MsgBox を使用するのではなく、代わりにファイルに書き出すことを検討してください。また、各行に番号を付けることを考慮して、Erl が正しく機能するようにします。

VB6 の優れたプラグインは、エラー処理と行番号を簡単に追加するのに役立つMZ ツールリンクです。

于 2010-03-16T13:50:15.907 に答える
0

ユーザーが Word またはフォームを複数回起動し、モーダル表示エラー ( http://support.microsoft.com/kb/242347 ) が発生する「速度」の問題である可能性があります。例: アプリをシェル化するか、コンテナー ウィンドウに表示しますか? 彼らがせっかちになり、ボタンを複数回クリックしている可能性はありますか? ボタンをすばやく複数回クリックするか、フォーカスを設定して、Enter キーを繰り返し押してみてください。

その場合は、複数のクリックを処理/ブロックする (より簡単にする) か、何らかの方法で Office をプリロードして、アプリの初期化中の遅延を最小限に抑える必要があります。

于 2010-03-16T15:11:21.760 に答える