Как избежать окна сообщения буфера обмена при копировании больших объемов данных в Excel?

У меня есть макрос, который копирует 4 листа из одной книги в новую книгу и сохраните его с другим именем.

к сожалению окно сообщения с вопросом, буду ли я хотел бы сделать этот большой объем данных, доступных для других приложений вызывает эту автоматизированную работу, чтобы стать немного руководства.

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

2
задан sblair
07.02.2023 6:18 Количество просмотров материала 2815
Распечатать страницу

4 ответа

Я хотел бы изменить макрос. Отключите оповещения при запуске макроса и снова включите их по завершении макроса. то есть Application.DisplayAlerts = False

4
отвечен mischab1 2023-02-08 14:06

проблема с Application.DisplayAlerts = False является то, что он может скрыть предупреждение вам нужно увидеть.

использовать Application.CutCopyMode = False после пасты, которая удаляет ссылку на большой диапазон из буфера обмена.

4
отвечен Jon Peltier 2023-02-08 16:23

Я нашел этот МС документ об этом. Похоже, для решения этой проблемы можно использовать несколько различных программных решений в макросе. Это просто зависит от того, что именно вы копируете в буфер обмена.KB # 287392

1
отвечен DaBaer 2023-02-08 18:40

Я согласен с Джоном Пельтье, "проблема с приложением.DisplayAlerts = False означает, что он может скрыть предупреждение, которое вам нужно увидеть." Кроме того, вы должны помнить "приложение.DisplayAlerts = True " после завершения, так что это 3 строки кода для каждой вставки И если ваша программа прерывает перед " применением.DisplayAlerts = True", оповещения будут отключены, пока вы не выйдете из Excel.

Я проверил его предложение " приложение.CutCopyMode = False после вставки", работает штраф в someSpreadsheet.xls

Workbooks.OpenText Filename:="someDirectory\someFile.txt", _
    DataType:=xlDelimited, TextQualifier:=xlNone, _
    Tab:=True
Cells.Select
Selection.Copy
Windows("someSpreadsheet.xls").Activate
ActiveSheet.Paste
Application.CutCopyMode = 0
Windows("someFile.txt").Activate
ActiveWorkbook.Close
1
отвечен Patrick Boylan 2023-02-08 20:57

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх