0

C++コードから2つのDDEコマンドを呼び出しています。

FormDde->DdeClientConv1->ExecuteMacro("[AddAddIn \"C:\\Projects\\wscs-trunk\\bin\\ws.dot\", 1][FileOpen .Name = \"C:\\Projects\\wscs-32x\\doc\\MyDoc.doc\]",false)
FormDde->DdeClientConv1->ExecuteMacro("[ToolsMacro .Name = \"FillTemplateAttests\", .Run]", false)

最初のコマンドは、テンプレートws.dotを開き、MyDoc.docを文書化します。テンプレートws.dotには、2回目のDDEコマンド呼び出しで実行しようとするマクロFillTemplateAttestsが含まれています。これらの2つのコマンドは、3か月以上正しく機能していました。数日前、2番目のコマンドが機能を中断しました。コードのこの部分またはマクロFillTemplateAttestsでは何も変更していません。機能が中断されたということは、 ExecuteMacro呼び出しがtrueを返しても、2番目のコマンドを呼び出しても何も起こらないことを意味します(つまり、ドキュメントによれば、すべてがOKであるはずです)。)。同じプログラムを同じドキュメントws.dotとMyDoc.docで別のコンピューターで実行すると、すべて問題ありません。2番目のコマンドを2回呼び出すと、実際に実行されます(ただし、1回だけです。最初の呼び出しは無視されます)。

FormDde->DdeClientConv1->ExecuteMacro("[AddAddIn \"C:\\Projects\\wscs-trunk\\bin\\ws.dot\", 1][FileOpen .Name = \"C:\\Projects\\wscs-32x\\doc\\MyDoc.doc\]",false)
FormDde->DdeClientConv1->ExecuteMacro("[ToolsMacro .Name = \"FillTemplateAttests\", .Run]", false)
FormDde->DdeClientConv1->ExecuteMacro("[ToolsMacro .Name = \"FillTemplateAttests\", .Run]", false)

Wordのインストールが壊れているように私には思えます。私が問題の核心を見つけるのを手伝ってくれませんか。

補遺:

これらの3つのコマンドを続けて呼び出すと、すべてが実行されます。

FormDde->DdeClientConv1->ExecuteMacro("[AddAddIn \"C:\\Projects\\wscs-trunk\\bin\\ws.dot\", 1][FileOpen .Name = \"C:\\Projects\\wscs-32x\\doc\\MyDoc.doc\]",false)
FormDde->DdeClientConv1->ExecuteMacro("[Beep]", false);
FormDde->DdeClientConv1->ExecuteMacro("[ToolsMacro .Name = \"FillTemplateAttests\", .Run]", false)
4

1 に答える 1

0

理由がわからない場合でも、これで問題は解決しました。

FormDde->DdeClientConv1->ExecuteMacro("[AddAddIn \"C:\\Projects\\wscs-trunk\\bin\\ws.dot\", 1][FileOpen .Name = \"C:\\Projects\\wscs-32x\\doc\\MyDoc.doc\]",false)
FormDde->DdeClientConv1->ExecuteMacro("[]", false);
FormDde->DdeClientConv1->ExecuteMacro("[ToolsMacro .Name = \"FillTemplateAttests\", .Run]", false)
于 2012-05-14T12:11:11.243 に答える