有人可以帮忙吗?
我继承了一些用 Delphi 5 编写的软件,它允许将数据库(.ADT 文件)中的成员数据和字段合并到 word 中。
它适用于除 2010 之外的所有 Word 版本,它不会加载任何文档并显示错误:
“该方法在该对象上不可用”
有人告诉我,解决方案是将预设组件 OpWord 和 OpDataSet 替换为 Ole 变体。我已经使用 OpWord 这样做了:
wrdApp := CreateOleObject('Word.Application');
并且文档现在加载但没有任何合并字段数据。谁能让我知道如何从数据库中提取这些数据,因为 OpDataSet 似乎只是指向表格?
或者任何人都可以提出比我正在尝试的解决方案更好的解决方案。我对德尔福很陌生,所以我有点过头了
编辑:(要求的信息)
抱歉,如果需要,我有更多详细信息和代码。
这些组件似乎与 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;
我希望这有帮助...