まず、私は VFP プログラマーではないので、間違っているのはおそらく単純なことです。
VFP 9 データベースの一般的なフィールドからいくつかのドキュメントを抽出しようとしています。フィールドを効果的にコピーして Word に貼り付け、Word 文書をディスクに保存することで、これを行う方法があります。
私はこれを .prg ファイルの foxpro 開発環境内ですべて動作させています。
私のコードの中身は次のとおりです (そのほとんどは Microsoft サポートの質問からコピーされたものです)。
DO WHILE NOT EOF()
IF EMPTY(tnoteole) then
SKIP
LOOP
ENDIF
KEYBOARD "{ctrl+c} {ctrl+w}"
MODIFY GENERAL tnoteole
TRY
.EditPaste
CATCH
ENDTRY
.InsertPara
filename = Path + ALLTRIM(STR(recnum)) + ".doc"
.FileSaveAs(filename)
.EditSelectAll
.EditClear
SKIP
recnum = recnum + 1
ENDDO
私の問題は、これを開発環境内から実行すると正常に動作し、一般的なフィールド ウィンドウが画面上で点滅し、Word などに貼り付けられることです。しかし、これをコンパイル済みの exe から実行しようとすると (プロセスはユーザーがフォームのボタンをクリックすることでトリガーされます-私はたくさんの作業をしています-実際には、ユーザーの操作を必要としないバッチジョブにしたいのですが)Wordは開きますが、それはそれが得られる限りです. 一般フィールドは画面上で点滅せず、基本的にずっと待機します。
(ああ、厄介なtry/catchのことについて疑問に思っている場合に備えて、いくつかのフィールドを貼り付けるときにWordでいくつかの例外を見つけましたが、try/catchは開発環境で正常に機能するため、それが原因ではないと思います私の問題の。)
では、どうすればこれを機能させることができますか?フォックスプロの暗闇の中で、ちょっと歩き回っています。
助けてください!:)
ありがとう、
クレイグ