Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.04.2016, 01:23   #1
Alekseygomel
 
Регистрация: 23.04.2016
Сообщений: 3
По умолчанию Сохранение готового документа EXEL в Word

В общем ситуация такова, сделал форму отчёта в EXEL. Проверил, всё меня устроило, но как оказалось эту форму диспетчер принимает только в Word (ну так научили). Вот возник вопрос как мне желательно макросом преобразовать мой фаил в word. Файлик прилагаю. Преобразовать нужно только вторую книгу. Может кто сталкивался с похожей ситуацией?
Вложения
Тип файла: xls СВОДКА.xls (87.0 Кб, 15 просмотров)
Alekseygomel вне форума Ответить с цитированием
Старый 23.04.2016, 02:14   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Макрос несложный получится.

Код:
Sub ConvertExcelToWord()
    ' © 2016 ExcelVBA.ru
    Worksheets("ОТЧЁТ").Copy        ' создаём копию листа ОТЧЁТ в новом файле
    ActiveWorkbook.SaveAs "c:\отчёт.html", xlHtml        ' сохраняем файл с отчётом в формате HTML
    ActiveWorkbook.Close False        ' закрываем временный файл

    ' запускаем Word, открываем файл "c:\отчёт.html", и пересохраняем его в формате DOC
    Set wObj = CreateObject("Word.Application")
    Set objDoc = wObj.Documents.Open("c:\отчёт.html")
    objDoc.SaveAs2 "c:\отчёт.doc", 0 ' wdFormatDocument = 0
    objDoc.Close saveChanges:=False
    wObj.Quit        ' закрываем word
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 23.04.2016, 04:02   #3
Alekseygomel
 
Регистрация: 23.04.2016
Сообщений: 3
По умолчанию

Спасибо,
но есть пару вопросов
1 objDoc.SaveAs2 "d:\îò÷¸ò.doc", 0 ' wdFormatDocument = 0
не поддерживается этот метод ошибка 438
(если открыть полученный html в ворде и сохранить вручную как doc, то всё получается )
2 что надо добавить в макрос что-б ориентация страницы в создаваемом вордовском документе была альбомная и без лишних полей (как у EXEL).

Последний раз редактировалось Alekseygomel; 23.04.2016 в 07:39.
Alekseygomel вне форума Ответить с цитированием
Старый 24.04.2016, 13:49   #4
Alekseygomel
 
Регистрация: 23.04.2016
Сообщений: 3
По умолчанию

Остаётся запущенным процесс winword.exe, может проблема в версии офиса?
У меня 2003 офис.


ОГРОМНОЕ СПАСИБО!
В общем разобрался, в objDoc.SaveAs2 надо убрать 2 и всё стало сохранять!
Осталось разобраться что-б ориентация страницы в создаваемом вордовском документе была альбомная и без лишних полей (как у EXEL).
ЗЫ. С ориентацией тоже разобрался, осталось только убрать лишние полосы

Последний раз редактировалось Alekseygomel; 24.04.2016 в 19:13.
Alekseygomel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Постраничное сохранение документа в Word 2007 Karull Microsoft Office Word 2 17.10.2018 16:04
Поиск документа Word и его сохранение в другой папке под другим именем Seve Microsoft Office Access 0 25.05.2015 11:53
VB: Сохранение документа WORD maksim_serg Общие вопросы .NET 2 28.09.2013 17:49
Сохранение переменных в файле документа Word a37529 Microsoft Office Word 3 01.06.2011 00:52
Сохранение документа Word-2007 VistaSV30 Microsoft Office Word 7 05.01.2010 08:38