Страницы: 1
RSS
Как передать в Word картинку из Excel?
 
Сейчас передаю картинку с листа Excel вот так (идея взята здесь:-)):  
...  
   Set objWord = CreateObject("Word.Application")  
   Set objDoc = objWord.Documents.Add()  
   Set objSelection = objWord.Selection  
   objSelection.TypeText "бла-бла-бла"  
   objSelection.TypeText Chr(11)  
   '------------------------  
   ActiveSheet.Shapes("Picture 3").Select  
   ' Перемещаемся в конец Word-документа  
   objDoc.Activate  
   objSelection.EndKey Unit:=6 ' 6 = wdStory  
   ' Копируем из Excel в Word  
   Selection.Copy ' это относится к Excel  
   objSelection.Paste ' это уже относится к Word т.к. objWord  
   'Application.CutCopyMode = False  
   '-------------------------  
...  
Тестировали на 3х компах, на 2х всё ОК, на третьем вылетает ошибка VBA что-то там про copy-past и "зависает" Excel (описали по телефону, я на удаленке :-(). Подскажите, пожалуйста, может быть есть другие варианты вставки рисунка? Заранее спасибо!
 
Копировать рисунок можно и без его выделения:  
ActiveSheet.Shapes("Picture 3").Copy  
 
 
В макросе это будет выглядеть так:  
 
Sub test()  
   Set objWord = CreateObject("Word.Application")  
   Set objDoc = objWord.Documents.Add()  
   Set objSelection = objWord.Selection  
   objSelection.TypeText "бла-бла-бла" & Chr(11)  
   '------------------------  
   ActiveSheet.Shapes("Picture 3").Copy ' копируем рисунок  
   ' Перемещаемся в конец Word-документа  
   objSelection.EndKey Unit:=6    ' 6 = wdStory  
   objSelection.Paste    ' это уже относится к Word т.к. objWord  
   Application.CutCopyMode = False  
   objWord.Visible = True  
End Sub  
 
 
Проверил - всё работает.  
 
На какой версии Windows и Office  проблема?  
Возможно, буфер обмена занят, или ещё что-то...  
В коде ошибок нет
 
{quote}{login=EducatedFool}{date=01.11.2010 12:38}{thema=}{post}Копировать рисунок можно и без его выделения:  
ActiveSheet.Shapes("Picture 3").Copy  
...  
На какой версии Windows и Office  проблема?  
Возможно, буфер обмена занят, или ещё что-то...  
В коде ошибок нет{/post}{/quote}  
Большое спасибо за ответ. У 10 пользователей всё работает. Подправили код как Вы подсказали. Жду того завтра - вернется из командровки тот сотрудник, у которого не работало. Винда 7, офис 2007, причем у тех 10 тоже самое...
Страницы: 1
Читают тему
Наверх
Loading...