VBA for MS Access:写入excel文件而不打开,写入最后一行,保存并关闭

时间:2017-02-15 05:59:33

标签: excel vba excel-vba

我是第一次在MS Access中使用VBA而无法获得以下权限: 启动Excel文件(不实际打开文件),然后写入Excel文件中的最后一行,然后保存文件(使用与以前相同的路径和名称,基本上替换上一个文件),然后关闭 excel文件。

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

谢谢! 恭

1 个答案:

答案 0 :(得分:2)

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