У меня есть скрипт, который берет таблицы из Excel, копирует, а затем вставляет электронные таблицы в Word, который в большинстве случаев работает нормально, однако иногда он выдает одну из следующих ошибок:
Run- ошибка времени '4605':
Этот метод или свойство недоступны, поскольку буфер обмена пуст или недействителен
или эта ошибка встречается реже
Ошибка времени выполнения '4198':
Метод 'PasteSpecial' объекта 'Selection' завершился неудачей
Дело в том, что если я получу любую из этих ошибок, я могу просто запустите макрос еще несколько раз, и он работает как положено. Я считаю, что происходит то, что VBA забывает или теряет слово document в памяти.
Что вызывает это и / или есть ли решение этой проблемы?
Пример кода:
Sub TEST()
Dim WordApp As Word.Application
Set WordApp = New Word.Application
Dim n As Integer
n = 0
WordApp.Documents.Add
WordApp.Visible = True
Do Until n = 50
n = n + 1
Range("A1:C6").Select
Range("C6").Activate
Selection.Copy
WordApp.Selection.TypeParagraph
WordApp.Selection.PasteSpecial Link:=False, DataType:=wdPasteEnhancedMetafile, Placement:=wdInLine2, DisplayAsIcon:=False
Loop
WordApp.Quit 0
End Sub
Вам потребуется активная библиотека объектов Microsoft Word 16.0 (этот макрос запускается в Excel VBA)