2016-11-19 47 views
0

我试图从一个电池获取价值,打开工作表和concate欲望文件名,打开工作表,但它显示错误:对象变量或与块变量未设置 我是使用下面的代码: 其中“123.xlsx”是,我要打开工作簿的名称。如何通过传递值到变量VBA

Dim output_path As Workbook 
dim xlwkbrpt1 as workbook 
output_path = Application.ActiveWorkbook.ActiveSheet.Range("F14").Value 
Set xlwkbrpt1 = xlApp.Workbooks.Open(output_path & "\" & "123.xlsx") 
+1

为什么'output_path'是一个工作簿?它不应该是一个字符串?另外,在执行最后一条语句之前,打印'output_path&“\”&“123.xlsx”'并查看'Open'方法试图打开的内容。 – FDavidov

+0

@FDavidov它显示了同样的错误,即使我改变数据类型 –

+0

请调用之前添加参数的打印成'xlApp.Workbooks.Open'just,结果你的问题追加。 – FDavidov

回答

1

您声明变量output_path的类型错误。试试这个:

Dim output_path As String 
Dim xlwkbrpt1 As Workbook 
output_path = Application.ActiveWorkbook.ActiveSheet.Range("F14").Value 
Set xlwkbrpt1 = Workbooks.Open(output_path & "\" & "123.xls") 
+0

我修正了dattype的代码,但它仍然显示相同的错误 –