Страница 8 из 10
Re: Создать отчет в Word из Excel
Добавлено: 14 апр 2008, 11:31
seergy
Скорее так :
Dim objWord As Object
' Создание Doc
Sub CreateDoc()
Set objWord = CreateObject("Word.Application")
If objWord.Documents.Count = 0 Then objWord.Documents.Add DocumentType:=wdNewBlankDocument
objWord.Visible = True
Worksheets("для ворд").Visible = True
Worksheets("для ворд").Columns("A:A").SpecialCells(xlCellTypeConstants, 3).Copy
objWord.Selection.Paste
Application.CutCopyMode = False
Worksheets("для ворд").Visible = False
End Sub
- и было мне счастье...
P.S. Со всем не усматрел
А - Call wdDoc.Range.PasteAndFormat(wdFormatPlainText)
не возможно использовать или вставлять текст с опред. форматом...??
с уважением...
Re: Создать отчет в Word из Excel
Добавлено: 14 апр 2008, 11:38
VictorM
seergy,
Скорее так :
ну, это уж Вам виднее

Re: Создать отчет в Word из Excel
Добавлено: 14 апр 2008, 12:21
seergy
А - Call wdDoc.Range.PasteAndFormat(wdFormatPlainText)
не возможно использовать или вставлять текст с опред. форматом...??
с уважением...
Re: Создать отчет в Word из Excel
Добавлено: 14 апр 2008, 12:26
VictorM
Использоваь можно, а про определенный формат мы уже говорили, зачем повторяться.
Форматирование Excel НЕ сохранится, форматировать текст прийдется в самом Word.
Re: Создать отчет в Word из Excel
Добавлено: 14 апр 2008, 13:19
seergy
Да виноват благодарю...........
С уважением....
Re: Создать отчет в Word из Excel
Добавлено: 22 апр 2008, 11:11
seergy
Виктор не могу справиться с ошибкой:
Run-time error "1004" Данная команда не применима для несвязанных диапозонов
Хотя делал как в вашем примере, только вместо Worksheets("для ворд"), вставляю свои листы и диапозоны. Проверил Referens в VBA вроде всё как в вашем примере....
См. Принскрин
С уважением..
Re: Создать отчет в Word из Excel
Добавлено: 22 апр 2008, 11:39
VictorM
Вы знаете, по скриншоту трудно понять, что там у Вас происходит. Попробуйте подвести курсор к месту останова и посмотреть, что пишется во всплывающих окнах. Может что и прояснится.
Re: Создать отчет в Word из Excel
Добавлено: 22 апр 2008, 17:33
seergy
Разобрался и сам оптимизировал (см. пример выше коды в файле Semple 1)
Вместо
Worksheets("Отчёт сварка ").Columns("A:A").SpecialCells(xlCellTypeConstants, 3).Copy
objWord.Selection.PasteAndFormat (wdFormatPlainText)
Выбрал
Worksheets("Отчёт сварка ").Columns("A:A").SpecialCells(xlCellTypeFormulas, 6).Copy
objWord.Selection.PasteAndFormat (wdFormatPlainText)
Код заработал...
Но PasteAndFormat (wdFormatPlainText) - не работает - вставляет как в ворд как таблицу, а не RTF - странно и ошибок нет...!!!?
С уважением...
Re: Создать отчет в Word из Excel
Добавлено: 22 апр 2008, 22:51
VictorM
Это говорит лишь о том, что для решения Вашего вопроса Вы предоставляете одни данные, а в реальных условиях используете другие.
Справка Excel:
xlCellTypeConstants. Ячейки, содержащие константы
xlCellTypeFormulas. Ячейки, содержащие формулы
У меня прекрасно работает (как и работала) строка
Код: Выделить всё
Worksheets("Отчёт сварка ").Columns("A:A").SpecialCells(xlCellTypeConstants , 3).Copy
а для вставки данных как текст, все-таки попробуйте применить ранее предложенный вариант.
***
если можно, небольшой совет, не применяйте в именах листов пробелы. Лучше пишите так Отчёт_сварка. Это не прихоть, просто может отозваться самым неожиданным образом, в самом неожиданном месте.
Re: Создать отчет в Word из Excel
Добавлено: 23 апр 2008, 07:53
seergy
Спасибо большое
Да. При слитном написании имён листов или через "_" в коде
SpecialCells(xlCellTypeVisible). видимые ячейки
xlCellTypeConstants. Ячейки, содержащие константы
xlCellTypeFormulas. Ячейки, содержащие формулы
Кода работают по разному.
Интересно .... почему так...наверное существуют жёсткие правила синтекса при написании програмного кода, кот. нужно учитывать...
С уважением