Как нажать кнопку «ОК» на панели сообщений в другой книге - PullRequest
0 голосов
/ 23 апреля 2019

у меня есть этот код

но когда я хочу открыть 1.xls, я сталкиваюсь с ошибкой, которую я должен нажать на кнопку ОК, чтобы закрыть ошибку и открыть файл Excel. Поскольку этот код будет загружать файлы Excel из Интернета, проблема с загруженными файлами будет

Я ищу способ не видеть эту ошибку, или приложение автоматически нажимает ОК.

Dim wkb1 As Workbook
Dim sht1 As Worksheet
Dim wkb2 As Workbook
Dim sht2 As Worksheet

Application.ScreenUpdating = False

Set wkb1 = Workbooks.Open("C:\Users\Envid\Desktop\1.xls")
Set wkb2 = ThisWorkbook
Set sht1 = wkb1.Sheets("sheet name")
Set sht2 = wkb2.Sheets(wsname)

sht1.Cells.copy
sht2.Range("A1").PasteSpecial Paste:=xlPasteValues
sht2.Range("A1").PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False

wkb1.Close True

Kill ("C:\Users\Envid\Desktop\1.xls")    
Application.ScreenUpdating = True

1 Ответ

1 голос
/ 23 апреля 2019

Чтобы просто не отображать оповещения, вы можете использовать следующее

Application.DisplayAlerts = False

Но как только вы преодолеете линии, в которых пытаетесь получить оповещения, установите для него значение True, чтобы вы могли перехватывать любые непреднамеренные оповещения.

Я предполагаю, что это строка wkb1.Close, где вы пытаетесь избежать предупреждения, поэтому измените его следующим образом:

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