Automation 带MS Office 2010的PowerBuilder 10.5

Automation 带MS Office 2010的PowerBuilder 10.5,automation,ms-office,powerbuilder,Automation,Ms Office,Powerbuilder,我们正在使用MS Office 2010和PowerBuilder 10.5。使用PowerBuilder应用程序中的邮件合并功能时。它被终止了申请。但在以后的版本中,一切照旧 我检查了旧版本的Word文档。。当打开该word文档(其中使用邮件合并)时,数据文件(地址为_data.xls的收件人文件)也将打开。但在新版本中,它没有打开。打开文档时是否有打开excel文件的选项 打开邮件合并word文档时。它在MS Office 97中以Excel文件打开。但这在MS Office 2010中不起

我们正在使用MS Office 2010和PowerBuilder 10.5。使用PowerBuilder应用程序中的邮件合并功能时。它被终止了申请。但在以后的版本中,一切照旧

我检查了旧版本的Word文档。。当打开该word文档(其中使用邮件合并)时,数据文件(地址为_data.xls的收件人文件)也将打开。但在新版本中,它没有打开。打开文档时是否有打开excel文件的选项


打开邮件合并word文档时。它在MS Office 97中以Excel文件打开。但这在MS Office 2010中不起作用。我需要在MS Office 2010-Word 2010中打开该文档,这样也可以打开该excel文件。我如何才能做到这一点?

试着像这样打开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
失败时它抛出的结果


如果这不起作用,我会为Office2010制作一个新的邮件合并文档。如果您需要支持这两个版本,您可以通过OLE界面检查Word版本,以确定要使用哪个文档。

您好,您能澄清一下吗?你用的是什么?你改变了什么?请发布用于控制Word.ole_1.object.application.ActiveDocument.MailMerge.Execute()的PowerBuilder代码这是一行-在这里应用程序终止。打开邮件合并Word文档时。它在MS Office 97中以Excel文件打开。但这在MS Office 2010中不起作用。我需要在MS Office 2010-Word 2010中打开该文档,这样也可以打开该excel文件。我该怎么做?从Word打开文档时会发生什么情况(不使用PB)?如果邮件合并在Word中不起作用,则在PB中也不起作用。您可能需要为Office 2010制作一个新的Word文档。打开工作文档时,它要求从现有版本转换。我说是,然后打开word文档和excel文档。这是所需的行为,但代码ole_1.Object.Application.ActiveDocument.MailMerge.Execute()此部分失败并返回powerbuilder应用程序错误(R0035)。感谢您的来信,我们在Word 2010中有选项。我们需要检查的选项。选项为“打开时确认文件格式转换”。在操作word文档时,它会打开正确的数据源文件。我们在MS Office 2010中遇到了一个问题。在PowerBuilder 10.5中使用邮件合并功能时,我们将面临PowerBuilder应用程序运行时错误(R0039)。应用程序也将通过调用外部对象函数execute终止,execute位于ABCD上的xx行。MS Office 2010有一个解决方案,它需要添加到注册表项中,即14.0上的SQLSecurityCheck REG DWORD(32位)-value=0。在注册表项中添加属性后。它起作用了。