我正在尝试从 Excel 访问 MS Word 窗口。我找到了访问新 Word 文档或特定文档的方法,例如将 Excel 范围内的文本复制到 Word 文档 https://stackoverflow.com/questions/2006077/copy-text-from-range-in-excel-into-word-document,
但就我而言,我不知道文档的名称,它应该是最后一个活动的文档。我希望用类似的东西
Word.ActiveDocument
但没有成功。我还尝试模拟 Alt+Tab 按键来激活窗口
Application.SendKeys("%{TAB}")
但它也不起作用。有什么提示吗?
我正在尝试创建一个宏,将图表和一些文本复制到 Word 中,并对文本进行一些格式化。所以基本上我可以使用任何方法来完成这项任务。
多谢。
您可以使用后期绑定来访问打开的 Word 实例(http://support.microsoft.com/kb/245115 http://support.microsoft.com/kb/245115) and GetObject
。如果您打开了多个 Word 实例,则不能保证您能够获得其中任何一个实例。
获取 Word 实例将允许您访问ActiveDocument
或应用程序的当前Selection
。我仍然建议进行一些错误检查,以确保您得到了您想要的。
Sub GetWordDocument()
Dim wdApp As Object
'Turn off error handling since if the Application is not found we'll get an error
'Use Late Binding and the GetObject method to find any open instances of Word
On Error Resume Next
Set wdApp = GetObject(, "Word.Application")
On Error GoTo 0
'Check to see if we found an instance. If not you can create one if you desire
If wdApp Is Nothing Then
MsgBox "No instances of Word found"
Exit Sub
End If
'Check if there are documents in the found instance of Word
If wdApp.Documents.Count > 0 Then
wdApp.Selection.TypeText "Cool, we got it" & vbCr
'You can now access any of the active document properties too
wdApp.ActiveDocument.Range.InsertAfter "We did indeed"
End If
'Clean up the Object when Finished
Set wdApp = Nothing
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)