VBA – 打开word文档,将数据从excel导出到Word文档

我有一点我无法解决的问题。

我已经编程VBA代码导出单元格数据从Excel文本文本框。

它是如何工作的:我在excel文档中有一个button,突出显示想要使用的那一行,按下button,而不是从我告诉它的所有单元格中抓取数据,并将它们导入到单词中。

我遇到的问题是,如果我select另一行并再次按下button,它会尝试再次打开相同的单词文档,因为它已经打开错误。 有反正我可以做,如果语句来检查,如果它打开,如果它不打开它,如果它是使用活跃词文档?

这是我目前的代码

Set objWord = CreateObject("Word.Application") objWord.Visible = True objWord.Documents.Open "C:\Users\swhiston\Desktop\IT Services Invoice.docx" 

感谢GreatSc0tt

您希望Word对象通过在Module / Class级别声明,并在打开它之前testing它是否已经打开

 Option Explicit Dim objWord As Object Dim objDoc as Object Sub OpenWord() Set objWord = CreateObject("Word.Application") objWord.Visible = True set objDoc = objWord.Documents.Open( "C:\Users\swhiston\Desktop\IT Services Invoice.docx") End Sub Sub MyCodeHere() 'Open Word If It's Not Already Open If objwork Is Nothing Then OpenWord 'Your Code Here End Sub 

每当你尝试执行你的代码,它将重新打开相同的文件,所以要么应用检查文件是否打开的条件,如果没有,那么只有它打开文件或每次你应该closures文件在代码的末尾。

你可以参考: 检测Excel工作簿是否已经打开

保留在其他部分:

 objWord.Documents.Open "C:\Users\swhiston\Desktop\IT Services Invoice.docx"