Что именно является функцией приложения.Свойство CutCopyMode в Excel
Ну, прежде всего, я нашел пару ответов во время гугления, но большинство форумов заблокированы в моем Office Network
следовательно, задавая этот вопрос здесь! Еще одно намерение-получить ответ на простом английском языке :Р
Я понимаю, если мы ставим Application.CutCopyMode = False
тогда скопированные / вырезанные результаты исчезнут (т. е. память будет очищена), но когда мы должны использовать это и когда не использовать это? Кто-нибудь может помочь?
3 ответов
путем ссылаться this(http://www.excelforum.com/excel-programming-vba-macros/867665-application-cutcopymode-false.html) ссылка ответ, как показано ниже:
Application.CutCopyMode=False
отображается в коде, сгенерированном Macro recorder, когда вы копируете / вырезаете ячейки и вставляете . Регистратор макросов выполняет копирование / вырезание и вставку отдельных операторов и использует буфер обмена в качестве промежуточного буфера. Я думаю Application.CutCopyMode = False
очищает буфер обмена. Без этой строки вы получите предупреждение'There is a large amount of information on the Clipboard....'
когда закройте книгу с большим объемом данных в буфер обмена.
с оптимизированным кодом VBA вы обычно можете выполнять операции копирования/вырезания и вставки в одном операторе, поэтому буфер обмена не используется и Application.CutCopyMode = False
не нужна и вы не получите предупреждение.
обычно, когда вы копируете ячейку, вы найдете приведенную ниже инструкцию, записанную в строке состояния (в нижней части листа)
"выберите пункт назначения и нажмите Enter или выберите Вставить"
затем нажмите Enter или выберите Вставить, чтобы вставить значение ячейки.
Если вы не нажмете Esc после этого, вы сможете вставить значение ячейки несколько раз
приложение.CutCopyMode = False делает то же самое, что и кнопка Esc, если вы удалили ее из своего кода, Вы обнаружите, что можете вставить значение ячейки несколько раз снова.
и если вы закрыли Excel без нажатия Esc вы получите предупреждение " существует большой объем информации в буфере обмена....'
хорошее объяснение на https://stackoverflow.com/a/33833319/903783
ожидаемые значения кажутся xlCopy и xlCut в соответствии с перечислением xlCutCopyMode(https://msdn.microsoft.com/en-us/VBA/Excel-VBA/articles/xlcutcopymode-enumeration-excel), но значение 0 (это то, что False равно в VBA) кажется полезным для очистки данных Excel, помещенных в буфер обмена.