我有一个Excel文件,我想在其中有一个宏,允许用户选择任何Word文件,然后打开这个选定的文件。这可能吗?
我可以知道实现目标的正确方法是什么?
答案 0 :(得分:1)
你真的不是那么具体,但我猜你会得到你的Excel单元格中列出的所有文件的名称。在该单元格的OnClick事件中,您可以打开这样的Word文档:
Sub openWordDocument()
Set wordapp = CreateObject("word.Application")
wordapp.documents.Open "C:\Documents\blablabla" & ActiveCell.Value
wordapp.Visible = True
End Sub
您必须将保存单词文件的路径与该假定您在单元格中写入的特定文件的名称组合在一起。
如果您还需要其他内容,请注明......
答案 1 :(得分:0)
要选择文件,您可以使用Excel Application的.GetOpenFilename
方法
该方法返回所选文件的完整路径。
Dim oWFile As String
oWFile = Application.GetOpenFilename("Word File, *.docx")
现在要打开文件,您需要获取/创建Word实例 这意味着您必须将Word绑定到Excel。以下示例
Dim oWApp As Word.Application
'~~> get instance if already existing
On Error Resume Next
Set oWApp = GetObject(, "Word.Application")
On Error GoTo 0
'~~> create it otherwise
If oWApp Is Nothing Then Set oWApp = CreateObject("Word.Application")
'~~> make sure it is visible
oWApp.Visible = True
'~~> Open the word file using the grabbed/created Word Application Object
'~~> and the full file path we get using the .GetOpenFilename method
oWApp.Documents.Open oWFile
我使用了早期绑定,您需要引用Microsoft Word对象库
要执行此操作,请在VBE中转到工具>参考并选择
Microsoft Word 14.0对象库(办公室2010)
数量因办公室版本而异。