Страницы: 1
RSS
Копирование значения из выделенной области Excel в Word
 
Доброе время суток. В VBA не особо разбираюсь. Если задаю какой-то глупый вопрос, то извиняюсь.
Пытался написать макрос, который бы копировал значения из выделенной области Excel в Word. После вставки в документе Word необходимо, чтоб интервал в Word до и после устанавливался 0 пт, и вставленные данные выравнивались по ширине окна, с выравниванием в ячейке по средине.

Вот, что у меня вышло:
Скрытый текст


Не понятно, почему не устанавливаться параметры абзаца и почему не хочет работать wdDoc.Tables(1).Cells.VerticalAlignment = wdCellAlignVerticalCenter

Буду признателен за помощь.

З.Ы. По форуму искал, надстройку ZVI, видел. Но необходим именно макрос, так, как не я один файлом буду пользоваться.
 
kashybin, сделайте сначала работающий код в программе "Word", а затем переносите этот код в программу "Excel".

Вы хотите использовать команду, которой не существует в VBA-Word.

При написании макросов, нужно начинать с макрорекордера: включите в программе "Word" макрорекордер, сделайте в программе "Word" нужные действия, отключите макрорекордер и посмотрите какие VBA-Word-объекты нужно использовать.
 
Цитата
Скрипт пишет:
kashybin, сделайте сначала работающий код в программе "Word", а затем переносите этот код в программу "Excel".
Так я так и сделал. Части написанные с With записывал с помощью макрорекодера.
Цитата
Скрипт пишет:
Вы хотите использовать команду, которой не существует в VBA-Word.
Суть ошибки я прочитал, поскольку код записывал в макрорекодере Word, то не понял почему такая ошибка вылетела. :(
 
kashybin, да, в вашем случае макрорекордер не даёт нужный код.
Но такой код:
Код
ActiveDocument.Tables(1).Cells

не работает в программе "Word" - если вы поставите точку после слова "Tables(1)", то в списке членов не будет команды "Cells".

Сделайте в программе "Word" работающий код с использованием "ActiveDocument.Tables(1)", а затем перенесите код в программу "Excel".

И в вашем случае нужно задавать вопросы конкретно по программе "Word", т.к. ваши вопросы не связаны с программой "Excel".
Изменено: Скрипт - 02.07.2013 08:52:36
 
Скрипт, Понял, спасибо
 
Может кому пригодится, ошибка заключалась в следующем: необходимо было вместо .Cells.VerticalAlignment = wdCellAlignVerticalCenter задать .Range.Cells.VerticalAlignment = wdCellAlignVerticalCenter.

Вопрос так же был продублирован на sql.ru
Изменено: kashybin - 02.07.2013 19:18:21
Страницы: 1
Читают тему
Наверх