Отображать оповещения в Excel из Access - PullRequest
0 голосов
/ 02 мая 2018

Я открываю книгу Excel из Excel и удаляю лист внутри. Я хочу сделать это без сообщения из Excel:
«Excel навсегда удалит этот лист, хотите продолжить»
Однако я не могу заставить "DisplayAlerts = False" работать правильно.

Public Sub xportQuery()

Dim appExcel As Excel.Application
Dim myWorkbook As Excel.Workbook

Dim PathDaily, FileName As String
PathDaily = Forms!Menu!Text69
FileName = Forms!Menu!Text84

Set appExcel = CreateObject("Excel.Application")

Set myWorkbook = appExcel.Workbooks.Open(PathDaily & FileName)
appExcel.Visible = True
'Set appExcel = Nothing
Set myWorkbook = Nothing

appExcel.DisplayAlerts = False
Workbooks(FileName).Sheets("Sheety").Delete
appExcel.DisplayAlerts = True

End Sub

При таком написании я получаю «Нижний индекс вне диапазона» на Sheets("Sheety").delete Если я возьму две строки DisplayAlerts, код работает, но с предупреждением.

Как правильно написать свой код для работы без каких-либо предупреждений?

Примечание: DoCmd.SetWarnings не работал, так как сообщение отображается в Excel

1 Ответ

0 голосов
/ 02 мая 2018

Благодаря комментарию Сэма:

работает либо путем изменения

Workbooks(FileName).Sheets("Sheety").Delete

в

myWorkbook.Sheets("Sheety").Delete

или

AppExcel.Workbooks(FileName).Sheets("Sheety").Delete

Однако остальная часть макроса все еще может использовать рабочие книги (имя файла) без «AppExcel». Ссылка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...