Создать отчет в Word из Excel

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Аватара пользователя
VictorM
Сообщения: 794
Зарегистрирован: 23 окт 2006, 01:44
Откуда: Lugansk, Ukraine
Контактная информация:

seergy, первое впечатление - а почему все это не делать сразу в Word ? Он для такого рода документов и предназначен. Я думал, Вы расчеты, сделанные в Excel, публикуете в Word.
А насчет формата - надо посмотреть. Пока со временем туго. Чуть позже.
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
seergy
Сообщения: 109
Зарегистрирован: 25 ноя 2007, 21:31

"первое впечатление - а почему все это не делать сразу в Word ? Он для такого рода документов и предназначен." - у всех возникает впечатление, что расчёт призведён в Worde - в ручную... Но не так - в данном случае Вы видели значение формул Сцепить, впр., и т.п.,содержание кот меняется от условий (весь расчёт я вам не показал только часть программы.), скопированных на другой лист через макрос спец ставки со скрытого листа в виде значений.
поэтому может быть сто ячеек, а может 30. А если за раз несколько расчётов ...? -старый остаётся в ворде, новый появляется в эксел.., и так далее результат по всем расчётам суммируется по группам.... и воаля. 1-2 часа работы за 10 минут...
С уважением...
Аватара пользователя
VictorM
Сообщения: 794
Зарегистрирован: 23 окт 2006, 01:44
Откуда: Lugansk, Ukraine
Контактная информация:

Да уж... :) наворочано.
Но в таком случае, чё голову морочить7 Ваш документ, скопированный как таблица, на печати выглядит как надо. Ни рамок, ни табличек (лишних). Не пойму :confused:
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
seergy
Сообщения: 109
Зарегистрирован: 25 ноя 2007, 21:31

В том-то и дело, что приложений много. А копируется фиксированный диапозон макс 110 строк столбца A. Тут два варианта либо корректировать расчёт вворде, удаляя пустые ячейки, либо удаляя пустой диапозон текста скопированных со 110 строк. Выделить самому и вставить табличкой как Вы показывали здорово, но я хочу скрыть лист скопированный через макрос спец ставки со скрытого листа в виде значений.
Т.е. проблема в том, чтобы области со значением Eпусто не копировались. Текст в ворде быстрее подтянуть чем у далить пустые ячейки, поэтому и предпочтение RTF. Если вы заметили отчёт идёт сплошным текстом без пустых ячеек.
С уважением...
P.s. тем не менее Вы мне не сказанно помогли и было мне счастье....
Аватара пользователя
VictorM
Сообщения: 794
Зарегистрирован: 23 окт 2006, 01:44
Откуда: Lugansk, Ukraine
Контактная информация:

seergy,
Текст в ворде быстрее подтянуть чем у далить пустые ячейки
да не :) , посмотрите, почитайте комменты. Должно получиться так как Вы хотите.
А насчет сохранения форматов, при вставке как текст, не знаю, чёт не нашел я такого метода. Хотя, думаю, если я опять Вас правильно понял, предложенный вариант с удалением пустых ячеек, это то что нужно ;)
p.s. и, кстати, вот здесь Вы смотрели? Идея кода удаления пустых ячеек взята осюда http://forum.developing.ru/showthread.p ... 2%F0%EE%EA :rolleyes:
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
seergy
Сообщения: 109
Зарегистрирован: 25 ноя 2007, 21:31

Вы мне не сказанно помогли и было мне ещё больше счастья....
с уважением...
Аватара пользователя
VictorM
Сообщения: 794
Зарегистрирован: 23 окт 2006, 01:44
Откуда: Lugansk, Ukraine
Контактная информация:

seergy, просто ради интереса, а как Вам такое?

Код: Выделить всё

Sub PrintPDF()
    Range("A1:A9").Select
    Application.ActivePrinter = "Solid Converter PDF (Ne0:) "
    Selection.PrintOut Copies:=1, ActivePrinter:="Solid Converter PDF (Ne0:) " _
        , Collate:=True
End Sub
Создание ("печать") сразу из Excel, никаких проблем с Word. Только нужно установить какой нибудь "принтер" PDF, у меня Solid Converter PDF.
Быстро и красиво. И уж тут точно никто ничего не изменит :rolleyes:
Хотя, конечно, если очень сильно захотеть...
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
seergy
Сообщения: 109
Зарегистрирован: 25 ноя 2007, 21:31

Сохранение в ворд:
http://wellington.pm.org/archive/200705 ... ide08.html
Это то ??
Аватара пользователя
VictorM
Сообщения: 794
Зарегистрирован: 23 окт 2006, 01:44
Откуда: Lugansk, Ukraine
Контактная информация:

seergy, в этом коде, обратите внимание, перед форматированием выделяются нужные фрагменты текста. Если Вы хотите переформатировать текст, то что - то подобное можно конечно "соорудить", но в Вашем случае, как я понимаю, стоит задача сохранения оригинального форматирования текста.
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
seergy
Сообщения: 109
Зарегистрирован: 25 ноя 2007, 21:31

Виктор почему при ссылке на ячёйку в котрую вставлено или удалено значение макросом, все значение в формулах =если(_;_;_) определяются либо пусто, либо =0.
Я хотел модифицировать макрос для создания отчёта, добавить макрос скрыть ячеёки =0, т.е. пустые ячейки. А макрос видит ячейки со значениями скопир макросом спец вставки как Епусто ....?
Ответить