用于MS Access的VBA:写入excel文件时不打开,写入最后一行,保存并关闭
我在MS Access中首次使用VBA,并且无法获得以下权限: 启动Excel文件(无需像以前那样实际打开的文件),然后写入到最后一行 Excel文件,然后保存文件(具有相同的路径和名称,基本取代以前的文件),然后接近了Excel文件。用于MS Access的VBA:写入excel文件时不打开,写入最后一行,保存并关闭
请协助!到目前为止,我可以写入一个Excel文件,但不能关闭整个MS Access应用程序保存和关闭。 如果你可以请给出一个工作代码样本来完成上述工作,我会根据我的要求定制它。
谢谢! Christine
首先,为了更新和保存文件,你需要先打开它 - 所以当你说你不想“真的”时会有点混淆/矛盾打开” Excel文件......我把它意味着你只是不想Excel应用程序列明你会想是这样的:
Public Sub demoCode()
Dim excelApp As Excel.Application
Dim targetWB As Workbook
Dim targetRange As Range
'Create new Excel Application
Set excelApp = New Excel.Application
'Keep hidden
excelApp.Visible = False
'Have new Excel App open workbook
Set targetWB = excelApp.Workbooks.Open("C:\Filename.xlsm")
'Set targetRange to 1 row past the first sheet's usedrange
Set targetRange = targetWB.Sheets(1).Range(targetWB.Sheets(1).UsedRange.address)(targetWB.Sheets(1).UsedRange.Rows.Count + 1, 1)
'Paste @ targetRange
'Close and save workbook
targetWB.Close (True)
'Close Excel App
excelApp.Quit
End Sub
希望这有助于 TheSilkCode
使用Excel对象需要引用“Microsoft Excel XX.X对象库” – gizlmo
是的,就像@gizlmo所说的,确保包含任何必需的对象库。 – TheSilkCode
非常感谢!我在Set targetRange = excelApp.Range中收到错误“argument not optional”。任何想法这是什么? – user3426335
请分享您打开的代码部分并尝试保存文件。 –
还有一部分,您将指针设置为工作簿将会很有帮助。 –