Создать отчет в Word из Excel
Модератор: Naeel Maqsudov
ДА будет и вам счастье...
- VictorM
- Сообщения: 794
- Зарегистрирован: 23 окт 2006, 01:44
- Откуда: Lugansk, Ukraine
- Контактная информация:
Ну вот и ладушки... 
Хочется только заметить:
в примерах выделенный диапазон Range("A1:B4") задавался жестко только для демонстрации работоспособности. В Вашем же случае нужно позаботиться о том, чтобы перед созданием документа был выделен нужный Вам диапазон данных.
В противном случае в документ может "уйти" не то что нужно.

Хочется только заметить:
в примерах выделенный диапазон Range("A1:B4") задавался жестко только для демонстрации работоспособности. В Вашем же случае нужно позаботиться о том, чтобы перед созданием документа был выделен нужный Вам диапазон данных.
В противном случае в документ может "уйти" не то что нужно.
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
научите их ловить рыбу - и вы накормите их на всю жизнь".
А формат и рамки не коаируются ?. Например объединённые ячейки...
Или это не возможно
С уважением...
Или это не возможно
С уважением...
- VictorM
- Сообщения: 794
- Зарегистрирован: 23 окт 2006, 01:44
- Откуда: Lugansk, Ukraine
- Контактная информация:
seergy, почему же невозможно.
получите таблицу, которая не будет связана с Excel.
*****
p.s. см. вложение
Код: Выделить всё
Selection.PasteExcelTable False, True, False
*****
p.s. см. вложение
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
научите их ловить рыбу - и вы накормите их на всю жизнь".
-
- Сообщения: 2
- Зарегистрирован: 21 мар 2008, 11:46
Подсоединил в Referense Excell -я Microsoft Word 11.0 Object Library и вообще все, что хоть отдаленно в названии имеет Office, но некоторые команды не выполняются.Teslenko_EA писал(а):Здравствуйте zedby.
Ваш код вполне работоспособный, но для его выполнения, библиотека Microsoft.Word, должна быть подключена в проекте Excel.
Евгений.
Например печать текста и вставка таблиц из Excel выполняется:
Dim appWD As Word.Application
Set appWD = CreateObject("Word.Application")
appWD.Visible = True
appWD.Documents.Add
appWD.Selection.TypeText "Табл.1: Информация о позиции"
Workbooks(ReportTemplate).Worksheets(1).Activate
Worksheets(1).Range("B8:I14").Copy
appWD.Activate
appWD.Selection.Paste
appWD.Selection.Tables(1).AutoFitBehavior (wdAutoFitWindow)
appWD.Selection.TypeParagraph
А вот создать пустую таблицу не получается, например:
appWD.ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=1, NumColumns:= _
1, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
wdAutoFitFixed
В чем прикол?
VictorM, Вы мне (и не только мне) очень помогли, а что за ошибка см. файл
А возможно сохранять в ворд где стоит курсор например на стр. 29
А возможно сохранять в ворд где стоит курсор например на стр. 29
- Вложения
-
- ошибка.zip
- (72.82 КБ) 51 скачивание
- VictorM
- Сообщения: 794
- Зарегистрирован: 23 окт 2006, 01:44
- Откуда: Lugansk, Ukraine
- Контактная информация:
1. По поводу ошибки - ничего не могу пока сказать. У меня все работает четко. (проверил специально выложенный файл).
2. стр.29 это строка или страница?
2. стр.29 это строка или страница?
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
научите их ловить рыбу - и вы накормите их на всю жизнь".
Т.е то место, где стоит или поставлен курсор мыши в ворде например на стр. 5 сегодня, на стр 29 завтра, через месяц на первой. т.е куда необходимо пользователю в документе ворд...
С уважением ...
С уважением ...
Как быть если лист скрыт например в редакторе VBA или в ручную... выдаёт ошибку
в месте:
Sheets("Лист1").Select
С уважением...
в месте:
Sheets("Лист1").Select
С уважением...
- VictorM
- Сообщения: 794
- Зарегистрирован: 23 окт 2006, 01:44
- Откуда: Lugansk, Ukraine
- Контактная информация:
Если лист скрыт, конечно будет выдавать ошибку.
Чтобы этого избежать в начале процедуры пропишите
Следут заметить, что аналогичная проблема будет, если лист защищен паролем.
В этом случае можно поступить аналогичным способом или защищать лист через VBA.
см. http://forum.developing.ru/showthread.php?t=13158
Чтобы этого избежать в начале процедуры пропишите
Код: Выделить всё
Worksheets("Лист1").Visible = True
'Ваша процедура
Worksheets("Лист1").Visible = False
В этом случае можно поступить аналогичным способом или защищать лист через VBA.
см. http://forum.developing.ru/showthread.php?t=13158
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
научите их ловить рыбу - и вы накормите их на всю жизнь".