У меня есть 2 разных файлов первенствовать, как указано ниже:Копирование и вставка листа от одного к другому
- Report.csv
- Report.Xlsm
Оба файла имеет имя рабочего листа «Отчет "
Мне нужен сценарий vba для этого с MsAccess.
Мне нужно скопировать лист «Отчет» из Report.csv и заменить его на лист «Отчет» в Report.xlsm и сохранить файл xlsm. Также необходимо закрыть приложение. Код ниже выполняет задание, за исключением того, что он не заменяет лист «Отчет».
Private Sub CopyPaste()
Dim CopyFrom As Object
Dim CopyTo As Object ' Workbook
Dim CopyThis As Object
Dim xl As Object 'New Excel.Application
Set xl = CreateObject("Excel.Application")
xl.Visible = True
Set CopyFrom = xl.Workbooks.Open("C:\Users\me\desktop\report.csv")
Set CopyThis = CopyFrom.Sheets(1) ''Sheet number 1
Set CopyTo = xl.Workbooks.Open("C:\users\me\desktop\Report.xlsm")
CopyThis.Copy After:=CopyTo.Sheets(CopyTo.Sheets.Count)
CopyFrom.Close True
CopyTo.Save
CopyTo.Close True
xl.Quit
End Sub
Он все еще висит на «Application.DisplayAlerts = False». Просто чтобы вы знали, что я запускаю это из Access Vba. – user3323922
Пожалуйста, используйте 'xl.DisplayAlerts = False' и' xl.DisplayAlerts = False' в соответствии с обновленным ответом. Спасибо – slayernoah
Удивительный! работает. Большое спасибо. – user3323922