1

パスワードを使用してブックを開き、イベントを無効にしてから、バックグラウンドでシートを2番目のファイルにコピーして保存する方法。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が開き、パスコピーのシートを2番目のファイルに入力します。

ただし、パスワードをバックグラウンドで渡し、シートを削除して2番目のファイルをすべてバックグラウンドで保存する必要があります。また、私は私に尋ねることなく、シートを削除する必要があります:

CopyTo.Sheets("Sheet1").Delete

ありがとうございました

4

1 に答える 1

8

パスワードの問題

password「ファイルを開く」パスワード(パラメータ)なのか「ファイルを変更する」パスワード(パラメータ)なのか注意してくださいWriteResPassword

何かのようなもの:

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

警告なしに削除

2番目の質問については、次のことができます。

Application.DisplayAlerts=False
CopyTo.Sheets("Sheet1").Delete
Application.DisplayAlerts=True
于 2012-07-20T14:33:46.847 に答える