2012-07-20 65 views
1

如何使用密碼打開工作簿,禁用事件, 然後將背景中的工作表複製到第二個文件並保存。 我需要在VBA中,在MS-Access和Excel文件中工作如何使用密碼打開工作簿,禁用事件

我已經這樣做了,直到現在,工作。

Private Sub TestFunction() 

'strPath = CurrentDb.Properties(0) 
'strPath = Left(strPath, Len(strPath) - Len(Dir(strPath, vbNormal))) & "Temp\" 
Dim CopyFrom As Object 
Dim CopyTo As Object ''Early binding: Workbook 
Dim CopyThis As Object 
Dim xl As Object ''Early binding: New Excel.Application 

Set xl = CreateObject("Excel.Application") 
xl.Visible = True 
Set CopyFrom = xl.Workbooks.Open("D:\A01.xls") 
'CopyFrom.EnableEvents = False 
Set CopyThis = CopyFrom.Sheets(1) ''Sheet number 1 
Set CopyTo = xl.Workbooks.Open("D:\PM1.xls") 
CopyThis.Copy After:=CopyTo.Sheets(CopyTo.Sheets.Count) 
CopyFrom.Close 
End Sub 

這將打開Excel,我將通過副本的表格輸入到第二個文件。

但我需要在後臺傳遞密碼,刪除表格並保存第二個文件,全部在後臺。 此外,我需要刪除的紙張,不問我,如:

CopyTo.Sheets("Sheet1").Delete 

謝謝

+0

xl.Workbooks.Open可以採取密碼作爲參數以及文件名 – 2012-07-20 13:53:20

+0

Set CopyFrom = xl.Workbooks.Open(「D:\ A01.xls」,「admin」) 不工作。 – Adrian 2012-07-20 13:56:46

+0

只有表格的名稱實際上是「Sheet1」時,delete語句纔會起作用。否則,您只需將第一張紙張稱爲紙張(1),這僅僅是一個旁註。 – Trace 2012-07-20 14:41:47

回答

8

密碼問題

注意檢查羯羊它是一個「打開文件」的密碼( password參數)或「修改文件」密碼(參數WriteResPassword)。

喜歡的東西:

Sub OpenMyFile() 
    Workbooks.Open Filename:="Path", Password:="OpenFile", WriteResPassword:="WriteFile" 
End Sub 

沒有警報

刪除關於第二個問題,這裏是你可以做什麼:

Application.DisplayAlerts=False 
CopyTo.Sheets("Sheet1").Delete 
Application.DisplayAlerts=True 
+0

它是從VBA代碼的密碼登錄窗口。 – Adrian 2012-07-20 14:46:20

+0

我不明白你的問題。請嘗試告訴我們出了什麼問題。順便說一句,我已經編輯我的答案與刪除的解決方案 – JMax 2012-07-20 15:05:01

相關問題