У меня есть проблемы со следующим кодом:закрытие Vba первенствует приложения/рабочие книги замерзает
Dim excelapp as object
set excelapp = CreateObject("excel.application")
dim ws as object
dim wb as Workbook
wb= excelapp.Workbooks.Open(path)
ws= wb.Sheets(1)
'in the code i send the worksheet object around by reference in order to read the
'worksheet and manipulate data, i dont create other instances of excel apps or
'workbooks
тогда я попробовать:
wb.Close
и я также пытался:
excelapp.Quit
Ни один из них не работал, они оба замораживают и говорят, что ожидают действия OLE, и у меня есть несколько процессов excel, если я их не называю, когда i попробуйте открыть файлы excel, которые я открыл с помощью кода, я могу только открыть их только для чтения, потому что theyre проверил меня.
Я также попытался выполнить сценарий оболочки, который закрывает все приложения «Excel.Exe», но он закрывает ... фактический файл excel, где выполняется vba, поэтому это не очень хорошее решение. Спасибо заранее.
Вы управляете этим преимуществом? Если «Да», нет необходимости создавать дополнительный экземпляр Excel для открытия другой книги. –
Хорошо, так какой из объектов я бы использовал? Я попробовал APPLICATION, но он открывает фактические листы excel, и когда я пытаюсь использовать application.visible = false, листок, связанный с моим методом, становится невидимым. я решил это, поставив application.visible = true после, но он просто выглядит неряшливо, правильно ли? Спасибо! –
Перед открытием книги вы можете установить 'Application.ScreenUpdating = False', а затем вернуться к True, когда закончите. –