кто-нибудь может помочь?
Я унаследовал некоторое программное обеспечение, написанное на Delphi 5, которое позволяет использовать данные и поля членов из базы данных (файл .ADT), объединенные в слово.
Отлично работает со всеми версиями Word, кроме 2010, где он не загружает документы и выдает ошибку:
«Этот метод недоступен для этого объекта»
Мне сказали, что решение состоит в том, чтобы заменить предустановленные компоненты OpWord и OpDataSet вариантами Ole. Я сделал это с OpWord, используя:
wrdApp: = CreateOleObject ('Word.Application');
и документы теперь загружаются, но без каких-либо данных поля слияния. Может кто-нибудь дать мне знать, как извлечь эти данные из базы данных, так как OpDataSet, кажется, просто указывает на таблицу?
Или кто-нибудь может предложить лучшее решение, чем то, которое я пробую. Я очень новичок в Delphi, так что я в порядке над головой
Редактировать: (запрошенная информация)
Извините, у меня есть более подробная информация и код, если требуется.
Компоненты, по-видимому, принадлежат библиотеке OfficePartner вместе с TOpExcel, TOpOutlook и другими.
.doc выбирается из всплывающего окна ListPane в Form30, открывается и заполняется данными поля слияния из таблицы 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;
Надеюсь, это поможет ...