Нажмите ОК во всплывающем окне оповещения через VBA

Вопрос: Имея проблему, я написал макрос, который обновляется каждые 2 минуты, чтобы загружать данные с веб-страницы, а последний шаг моего макроса использует функцию "Текст в столбцы", чтобы она была хорошо разделена на столбцы. Проблема появляется здесь каждый раз, когда она запускает этот "текст в столбец", он спрашивает, хочу ли я перезаписать столбцы (и я делаю

Вопрос:

Имея проблему, я написал макрос, который обновляется каждые 2 минуты, чтобы загружать данные с веб-страницы, а последний шаг моего макроса использует функцию “Текст в столбцы”, чтобы она была хорошо разделена на столбцы.

Проблема появляется здесь каждый раз, когда она запускает этот “текст в столбец”, он спрашивает, хочу ли я перезаписать столбцы (и я делаю это), но мне нужно нажимать вручную “ОК”.

Есть ли способ сделать VBA нажатием этой кнопки OK в предупреждении?

Большое спасибо!

Лучший ответ:

Вы можете добавить DoCmd.SendKeys ПЕРЕД инструкцией, которая генерирует диалог.

Ответ №1

Просто добавьте Application.DisplayAlerts = False перед вызовом и верните его в True после.

http://msdn.microsoft.com/en-us/library/office/aa175241%28v=office.11%29.aspx

Обновление: я только что проверил тест, и он не запрашивает меня по умолчанию. Можете ли вы опубликовать код, который используете? Я просто сделал:

Public Sub Test() Dim r As Range Set r = ActiveWorkbook.Sheets(1).Columns(«A:A») r.TextToColumns Destination:=Range(«B1») End Sub

Эта ссылка говорит, что решение DisplayAlerts работает для других.

Ответ №2

Вы должны использовать функцию щелчка мыши. Перед тем, как увеличить окно, чтобы x, y пучки ok кнопок остались такими же. Используйте windows lib 32

Оцените статью
Добавить комментарий