2011-05-02 90 views
1

我们在PowerBuilder 10.5中使用MS Office 2010。在PowerBuilder应用程序中使用邮件合并功能。它终止了应用程序。但在后来的版本像往常一样工作..带MS Office 2010的PowerBuilder 10.5

我检查了旧版本的Word文档..当打开该Word文档(邮件合并使用在那)数据文件(address_data.xls的收件人文件)也将开放。但在新版本中它并未打开。有没有任何选项可以在打开文档时打开excel文件?

打开邮件合并word文档时。它在MS Office 97中打开Excel文件。但这不是在MS Office 2010中工作。我需要在MS Office 2010 - Word 2010中打开该文档,所以这应该打开该Excel文件。我怎样才能做到这一点?

+0

嗨,你能澄清一下吗?你用什么工作?你改变了什么?请发布您用来控制Word的PowerBuilder代码。 – 2011-05-02 16:28:02

+0

ole_1.object.application.ActiveDocument.MailMerge.Execute()这是行 - 应用程序终止。 – 2011-05-02 16:47:17

+0

打开邮件合并word文档时。它在MS Office 97中打开Excel文件。但这不是在MS Office 2010中工作。我需要在MS Office 2010 - Word 2010中打开该文档,所以这应该打开该Excel文件。我怎样才能做到这一点? – 2011-05-03 09:25:29

回答

0

尝试打开W​​ord文档是这样的:

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失败时所抛出的。

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

+0

感谢您给我写信,我们在Word 2010中有选项。我们需要检查的选项。该选项是“打开时确认文件格式转换”。打开Word文档时,它会打开正确的数据源文件。 – 2011-05-19 10:29:39

+0

我们在MS Office 2010中遇到了问题。在PowerBuilder 10.5中使用mailmerge功能时,我们将面对PowerBuilder应用程序运行时错误(R0039)。并且应用程序将通过调用在ABCD上的行xx上执行的外部对象函数来终止。 MS Office 2010为此提供了一个解决方案,它需要在14.0版的SQLSecurityCheck-REG-DWORD(32位) - value = 0的注册表项中添加。在注册表项中添加属性后。它的工作。 – 2011-05-19 10:36:10