我目前正在开发一个宏,该宏会将各种形式输入到访问数据库中。
由于该程序的性质,我不得不将主程序分为两个子程序并调用它们,但是现在我需要使用getobject两次调用文件路径。
我使用getobject打开一个文件,然后使用myrec.fields(〜列名〜)= xlsht.cells(1,“ a”)填充各种列值。我不确定是否还有其他“有效”方法来完成此任务。
我想知道是否可以通过GetObject命令使用变量代替文件路径,而不是需要手动替换代码中的文件路径。
我已经测试了很多不同的代码,包括路径,类功能,但是我认为我对VBA的了解不足以真正充分利用它们。
我可以使用它来工作
Dim XL As Variant
Dim XLApp As Variant
Dim XLsht As Variant
Dim XLwrkbk As Variant
Set XL = CreateObject("Excel.Application")
Set XLwrkbk = GetObject(~file path~)
Set XLsht = XLwrkbk.Worksheets(1)
Set MyRec = CurrentDb.OpenRecordset("database name")
理想情况下,我希望它成为
Dim filename As String
Dim XL As Variant
Dim XLApp As Variant
Dim XLsht As Variant
Dim XLwrkbk As Variant
filename = " ~insert file path~ "
Set XL = CreateObject("Excel.Application")
Set XLwrkbk = GetObject(filename)
Set XLsht = XLwrkbk.Worksheets(1)
Set MyRec = CurrentDb.OpenRecordset("database name")
我收到运行时错误
运行时错误“ 5”: 无效的过程调用或参数。
答案 0 :(得分:0)
尝试这样的事情:
Dim XL As New Excel.Application, Filename As String
Filename = "~ your file ~"
XL.Workbooks.Open (Filename)
myrec.fields(~column name~) = XL.Worksheets(1).Range("A1").value