Попробуйте открыть документ Word следующим образом:
iole_word = CREATE OLEObject
li_result = iole_word.ConnectToNewObject("word.application")
// error checking code omitted
// args: FileName, [ConfirmConversions], [ReadOnly], [AddToRecentFiles]
ole_1 = iole_word.Documents.Open(is_infile,FALSE,FALSE,FALSE)
Я не показывал его здесь, но вы должны поместить все это в блок try-catch и перехватить oleruntimeerror
.Если Word не может открыть файл, он выдает oleruntimeerror
.Я предполагаю, что это также то, что он выдает, когда MailMerge
терпит неудачу.
Если это не сработает, я сделаю новый документ mailmerge для Office 2010. Если вам нужна поддержка обеих версий, вы можете проверить Wordверсия через интерфейс OLE, чтобы определить, какой документ использовать.