Страницы: 1
RSS
Ошибка 4605
 
Excel 2010  
 
Возникает ошибка 4605 - "Метод или свойства не доступны, поскольку буфер обмена пуст или содержит неверные данные" в VBA при ставки таблицы из Excel в Word такой строкой:  
 
wordApp.Selection.PasteExcelTable False, False, False, где wordapp объект Word  
   
Пробовал так - после ошибки код останавливаю, и пытаюсь через Ctrl+V вставить в Word - не выходит; такой ощущение что буфер пуст. Причем на листе Excel копируемая область показана (обведена мегающим диапазоном). НО! вставляю на любой лист Excel и чудесным образом буфер опять заполнился, но в word всталять все равно не хочет. Как быть?
 
Вот небольшой примерчик  
Повторясь  - Excel 2010
 
не очень понятно, там цикл.  
 
Так работает:  
 
Private Sub w_word_go()  
 
Set wordApp = CreateObject("word.application")  
   wordApp.Visible = False   'False  
   wordApp.Documents.Add NewTemplate:=False, DocumentType:=0  
   Application.ScreenUpdating = False  
     
   'For i = 1 To 30  
       Range(Cells(1, 1), Cells(5, 10)).Copy  
       wordApp.Selection.PasteExcelTable False, False, False  
       wordApp.Selection.TypeParagraph  
   'Next i  
     
   Application.ScreenUpdating = True  
   wordApp.Visible = True  
End Sub
 
*зачем там цикл, я  имел в виду, конечно.
 
Просто ошибка возникает не всегда на первой вставки, иногда посредине, иногда и во все не возникает
 
MrViper, у меня никакой ошибки не возникает. Хоть с циклом, хоть без. Значит, ошибка не в коде. С увеличением числа форумов, куда Вы запостили вопрос, шансы получить исправленный код не увеличатся. Кривая инсталляция Офиса, загнанная система и т.д..
Я сам - дурнее всякого примера! ...
 
Не то чтобы получить исправленный код...скорее получить ответ, почему в 2003 офисе тот же код пашет, а в 2010 нет. У меня к Вам KukLP только 1 вопрос - Вы смотрели в 2010 офисе?
 
{quote}{login=MrViper}{date=15.02.2012 12:36}{thema=Re: }{post}{quote}{login=subtlety}{date=15.02.2012 12:16}{thema=}{post}*зачем там цикл, я  имел в виду, конечно.{/post}{/quote}  
 
Просто ошибка возникает не всегда на первой вставки, иногда посредине, иногда и во все не возникает{/post}{/quote}  
 
теперь понял.  
 
после строки:  
wordApp.Selection.PasteExcelTable False, False, False  
добавьте очистку буфера.  
       Application.CutCopyMode = False  
 
To KuklP. У меня тоже выскакивает эта ошибка и тоже нестабильно.  
собственно, по запросу "PasteExcelTable error 4605"  
google выдает много тредов.
 
Спасибо subtlety;    
 
Информации на заметку - на машинах с разной производительности код ведет себя по разному, где пролетает, а где выдает ошибку
 
Сейчас пять раз подряд запускал в 2010 без очистки буфера, с циклом. Все работает, ошибок нет. 150 проходов без ошибок.
Я сам - дурнее всякого примера! ...
 
Незнаю...возможно зависит от конретной машины и параметров системы. Я протестировал на другом, более мощном компьютере, без очистки буфера - тоже все нормально. Замечу, что ошибка ругается на том что буфер пуст, а не переполнен. Т.е как бы таблица в буфере есть, но для Word'a ее нет. Загадка какая-то.  
 
Но предлагаю закрыть тему, дабы не гадать на кофейной гуще. Решение subtlety показал.
 
Пожалуйста.  
Думаю, никакой загадки нет. Какая-то тонкость работы с буфером.  
Можно пошерстить англоязычные ресурсы.
Страницы: 1
Читают тему
Наверх