誰でも助けることができますか?
私は Delphi 5 で書かれたいくつかのソフトウェアを継承しました。これにより、メンバー データとデータベース (.ADT ファイル) のフィールドを Word に結合して使用できます。
ドキュメントが読み込まれず、エラーが表示される 2010 を除くすべてのバージョンの Word で正常に動作します。
「そのメソッドはそのオブジェクトでは使用できません」
解決策は、プリセット コンポーネントの OpWord と OpDataSet を Ole バリアントに置き換えることだと言われました。私は以下を使用して OpWord でこれを行いました。
wrdApp := CreateOleObject('Word.Application');
ドキュメントが読み込まれるようになりましたが、差し込み項目データはありません。OpDataSet は単純にテーブルを指しているように見えるので、データベースからこのデータを抽出する方法を教えてもらえますか?
または、私が試しているものよりも優れた解決策を誰かが提案できますか。私はDelphiに非常に慣れていないので、頭を悩ませています
編集:(要求された情報)
申し訳ありませんが、必要に応じて詳細とコードがあります。
コンポーネントは、TOpExcel、TOPOutlook などと共に OfficePartner というライブラリに属しているようです。
.doc は Form30 のポップアップ ListPane から選択され、開かれ、表 4 の差し込みフィールド データが取り込まれます。表 1 はメンバー データベースです。
{Use Table4 as we can Set a range on it}
Table4.SetRange([Table1.FieldByName('Member Id').AsString],[Table1.FieldByName('Member Id').AsString]);
{Open Word}
OpWord1.Connected := True;
{Open the Test Document}
OpWord1.OpenDocument(DocumentDirectory + '\' + Form30.ListBox1.Items[Form30.ListBox1.ItemIndex]);
{Populate the Test Document}
OpWord1.ActiveDocument.MailMerge.OfficeModel := OpDataSetModel1;
OpWord1.ActiveDocument.PopulateMailMerge;
OpWord1.ActiveDocument.ExecuteMailMerge;
これが役立つことを願っています...