2017-02-15 61 views
-1

我在MS Access中首次使用VBA,並且無法獲得以下權限: 啓動Excel文件(無需像以前那樣實際打開的文件),然後寫入到最後一行 Excel文件,然後保存文件(具有相同的路徑和名稱,基本取代以前的文件),然後接近了Excel文件。用於MS Access的VBA:寫入excel文件時不打開,寫入最後一行,保存並關閉

請協助!到目前爲止,我可以寫入一個Excel文件,但不能關閉整個MS Access應用程序保存和關閉。 如果你可以請給出一個工作代碼樣本來完成上述工作,我會根據我的要求定製它。

謝謝! Christine

+1

請分享您打開的代碼部分並嘗試保存文件。 –

+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