用VBA实现Word控制Excel时遇到的问题;后期绑定和早期绑定不是';行不通
我在使用自动化从Word控制Excel时遇到问题,这应该可以通过用VBA实现Word控制Excel时遇到的问题;后期绑定和早期绑定不是';行不通,excel,vba,macos,export-to-excel,excel-2011,Excel,Vba,Macos,Export To Excel,Excel 2011,我在使用自动化从Word控制Excel时遇到问题,这应该可以通过GetObject函数实现 我正在使用Office 2011 for Mac。我的目标是从word文档中获取信息,并在最近的此类条目之后将其插入excel工作簿。doc是一个合同生成器。每个工作簿将包含约30个相关合同的详细信息。我想使用的逻辑是允许用户输入工作簿的名称,然后VBA将获得完整的路径名和路径,然后能够控制工作簿。然而,我不能让一个更简单的案例起作用 首先,我甚至无法让word控制当前存在的excel实例(尽管Creat
GetObject
函数实现
我正在使用Office 2011 for Mac。我的目标是从word文档中获取信息,并在最近的此类条目之后将其插入excel工作簿。doc是一个合同生成器。每个工作簿将包含约30个相关合同的详细信息。我想使用的逻辑是允许用户输入工作簿的名称,然后VBA将获得完整的路径名和路径,然后能够控制工作簿。然而,我不能让一个更简单的案例起作用
首先,我甚至无法让word控制当前存在的excel实例(尽管CreateObject(“excel.Application”)
确实有效。我尝试了早期绑定,并获得了一个:
自动化错误(91)
以下是生成以下内容的代码:
Option Explicit
Sub WorkOnAWorkbook()
Dim Oxl As Excel.Application
Dim owB As Excel.Workbook
Set Oxl = GetObject(, "Excel.Application")
Set owB = Oxl.Workbooks.Open(fileName:="Macintosh HD:Users:User:Desktop:Test.xlsx")
End Sub
Option Explicit
Sub WorkOnAWorkbook()
Dim Oxl As object
Dim owB As object
Set Oxl = GetObject(, "Excel.Application")
Set owB = Oxl.Workbooks.Open(fileName:="Macintosh HD:Users:User:Desktop:Test.xlsx")
End Sub
我还尝试使用后期绑定,这让我:
错误424(需要对象)
以下是生成以下内容的代码:
Option Explicit
Sub WorkOnAWorkbook()
Dim Oxl As Excel.Application
Dim owB As Excel.Workbook
Set Oxl = GetObject(, "Excel.Application")
Set owB = Oxl.Workbooks.Open(fileName:="Macintosh HD:Users:User:Desktop:Test.xlsx")
End Sub
Option Explicit
Sub WorkOnAWorkbook()
Dim Oxl As object
Dim owB As object
Set Oxl = GetObject(, "Excel.Application")
Set owB = Oxl.Workbooks.Open(fileName:="Macintosh HD:Users:User:Desktop:Test.xlsx")
End Sub
我转到工具->引用并添加了Excel对象,所以我不确定程序的这一简单部分是否会工作
如果有人能帮助我使这部分工作,理想情况下,我的程序的一部分,将允许我收集工作簿的名称,我会很高兴(通过输入框,获取输入文件的完整路径名,然后控制该工作簿。我的程序中的其他一切都正常,但我无法使word和excel之间的键桥正常工作。尝试:
Set owB = Oxl.Workbooks.Open(FileName:="\Macintosh HD\Users\User\Desktop\Test.xlsx")
或者,如果这不起作用,请尝试:
Dim myFileName As String
myFileName = Application.GetOpenFilename
Debug.Print myFileName
If myFileName <> "" Then
Set owB = Oxl.Workbooks.Open(FileName:=myFileName)
End If
谢谢。我尝试了一些新标签。谢谢你,伙计。我实际上找到了另一个解决办法。对不起,我还没有足够的声誉来击败你。