用于MS Access的VBA:写入excel文件时不打开,写入最后一行,保存并关闭

问题描述:

我在MS Access中首次使用VBA,并且无法获得以下权限: 启动Excel文件(无需像以前那样实际打开的文件),然后写入到最后一行 Excel文件,然后保存文件(具有相同的路径和名称,基本取代以前的文件),然后接近了Excel文件。用于MS Access的VBA:写入excel文件时不打开,写入最后一行,保存并关闭

请协助!到目前为止,我可以写入一个Excel文件,但不能关闭整个MS Access应用程序保存和关闭。 如果你可以请给出一个工作代码样本来完成上述工作,我会根据我的要求定制它。

谢谢! Christine

+1

请分享您打开的代码部分并尝试保存文件。 –

+1

还有一部分,您将指针设置为工作簿将会很有帮助。 –

首先,为了更新和保存文件,你需要先打开它 - 所以当你说你不想“真的”时会有点混淆/矛盾打开” 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

+0

使用Excel对象需要引用“Microsoft Excel XX.X对象库” – gizlmo

+0

是的,就像@gizlmo所说的,确保包含任何必需的对象库。 – TheSilkCode

+0

非常感谢!我在Set targetRange = excelApp.Range中收到错误“argument not optional”。任何想法这是什么? – user3426335