bdd2

Добавление макроса в файл Word из 1С

Опубликовал Юрий Соколов (sokol_5441) в раздел Программирование - Практика программирования

Добавление макроса в файл Word из 1С

Ниже представлен код 1С для добавления макроса в файл Word.

Макрос, который добавляется в данном примере в файл Word сохраняет его при закрытии в файл "НовоеИмяФайла "

Кусок кода, который расположен ниже можно встравлять в любое место когда, где необходимо будет добавление макроса в документ Word.

 

Расположенный ниже код - это всего лишь пример механизма вставки макросов в Word. На основании данного примера можно вставлять любые макросы в документы Word, путем модификации данного примера.

Данный пример может понадобится, например, для сохранения файла ворд в автоматическом режиме в какое-либо другое место после закрытия файла

 

 

 

Ворд = Новый COMОбъект("Word.Application");
ИмяФайла =  "Тест файл1.doc";
НовоеИмяФайла =  "Тест файл2.doc";
ФайлВорд = Ворд.Documents.Open(ИмяФайла ); //Открываем файл

 
Если Не ФайлВорд.ReadOnly Тогда
    Попытка
        ФайлВорд.VBProject.VBComponents("ThisDocument").CodeModule.DeleteLines(1,4);//Удаляем сначала весь код макроса
    Исключение
    КонецПопытки;

    
    ФайлВорд.VBProject.VBComponents("ThisDocument").CodeModule.InsertLines(1, "Private Sub Document_Close()");
    ФайлВорд.VBProject.VBComponents("ThisDocument").CodeModule.InsertLines(2, "FileName = """ + НовоеИмяФайла + """");
    ФайлВорд.VBProject.VBComponents("ThisDocument").CodeModule.InsertLines(3, "ThisDocument.SaveAs(FileName)");
    ФайлВорд.VBProject.VBComponents("ThisDocument").CodeModule.InsertLines(4, "End Sub");
    
    //Word сам сохранит файл в нужное место
Иначе
    Сообщить("Файл открыт только для чтения");
КонецЕсли;

Ворд.Visible = Истина;

Скачать файлы

Наименование Файл Версия Размер
Код 1С.jpg
.jpg 115,06Kb
18.04.12
21
.jpg 115,06Kb 21 Скачать
Макрос.jpg
.jpg 163,48Kb
18.04.12
6
.jpg 163,48Kb 6 Скачать

См. также

Добавить вознаграждение
Комментарии
1. apalon_pss (pavel_pss) 19.04.12 11:36 Сейчас в теме
Поставил плюс за старания и другой способ. :D
Но у тебя есть одна ошибка, ты сдела попытку только на очистку текста макроса, а на добавление не сделал.
Так же использование макросов это класно, но для такого метода использования необходимо чтобы в офисе было обязательно включено в настройках безопасности "доверять доступ к объектной модели проектов vba". Сами макросы можно тогда установить в "отключить все макросы без уведомления". Как это проверить включен ли доступ, я сам еще пока не нашел, нет времени.
8-)
2. Александр Притуленко (evrakylon) 25.04.12 11:32 Сейчас в теме
Плюс за идею. Как раз потребовалось создать много шаблонов active document в Word. Автоматизирую при помощи макросов
3. Яков Коган (Yashazz) 1940 25.04.12 16:52 Сейчас в теме
Для Экселя всё примерно так же?
4. Евген Сок (6630) 1 17.05.12 07:22 Сейчас в теме
Да меня тоже для Excel Интересует подобная идея?
5. Олег Шалимов (CaSH_2004) 341 27.06.12 09:09 Сейчас в теме
Уважаемый автор - раскрась код