如何使用密码打开工作簿,禁用事件

Adr*_*ian 1 excel ms-access vba copy

如何使用密码打开工作簿,禁用事件,然后将后台工作表复制到第二个文件并保存.我需要在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
Run Code Online (Sandbox Code Playgroud)

这将打开Excel,我输入传递副本的工作表到第二个文件.

但我需要在后台传递密码,删除工作表并保存第二个文件,全部在后台.另外我需要删除一张表,而不是问我,如:

CopyTo.Sheets("Sheet1").Delete
Run Code Online (Sandbox Code Playgroud)

谢谢

JMa*_*Max 8

密码问题

小心检查它是"打开文件"密码(password参数)还是"修改文件"密码(WriteResPassword参数).

就像是:

Sub OpenMyFile()
    Workbooks.Open Filename:="Path", Password:="OpenFile", WriteResPassword:="WriteFile"
End Sub
Run Code Online (Sandbox Code Playgroud)

删除没有警报

关于第二个问题,您可以执行以下操作:

Application.DisplayAlerts=False
CopyTo.Sheets("Sheet1").Delete
Application.DisplayAlerts=True
Run Code Online (Sandbox Code Playgroud)