암호로 통합 문서를 열고 이벤트를 사용하지 않도록 설정 한 다음 백그라운드에서 시트를 두 번째 파일로 복사하고 저장하는 방법. VBA에서 MS 액세스 및 엑셀 파일로 작업해야합니다.암호로 통합 문서를 여는 방법 이벤트를 사용하지 않도록 설정하는 방법
지금까지 해본 적이 있습니다.
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
감사합니다
xl.Workbooks.Open 암호를 취할 수 있습니다 : 두 번째 질문에 대해 경고
없이 삭제
, 여기 당신이 할 수있는 것입니다 매개 변수 및 파일 이름으로 –
설정 CopyFrom = xl.Workbooks.Open ("D : \ A01.xls", "admin") Is 작동 안함. – Adrian
delete 문은 시트 이름이 실제로 "Sheet1"인 경우에만 작동합니다. 그렇지 않으면 첫 번째 시트를 시트로 참조하십시오 (1) 이것은 단지 부작위 일뿐입니다. – Trace