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

谢谢

4

1 回答 1

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
于 2012-07-20T14:33:46.847 回答