helpf.pro
Регистрация
 0 
Распечатать

1С 7.x : Запуск макроса в MS Word из 1С

Код 1C v 8.х
 //Пример показывает как из 1С вызывается MS Word, вставляется макрос и запускается!
//Макрос пишет на листе Добрый день!, https://helpf.pro и сохраняет файл в D:/primer.doc

ПримерМакроса = "Sub VBAprimer()
|S_election.TypeText Text:=""Добрый день!""
|Application.Keyboard (1033)
|S_election.TypeText Text:="": https://helpf.pro""
|S_election.TypeParagraph
|S_election.MoveUp Unit:=wdLine, Count:=2
|S_election.EndKey Unit:=wdLine, Extend:=wdExtend
|S_election.Style = ActiveDocument.Styles(""Заголовок 1"")
|S_election.MoveDown Unit:=wdLine, Count:=1
|S_election.HomeKey Unit:=wdLine
|S_election.EndKey Unit:=wdLine, Extend:=wdExtend
|S_election.Style = ActiveDocument.Styles(""Заголовок 2"")
|ActiveDocument.SaveAs FileName:=""D:/primer.doc"", FileFormat:= _
| wdFormatDocument, LockComments:=False, Password:="""", AddToRecentFiles:= _
| True, WritePassword:="""", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:= _
| False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
| SaveAsAOCELetter:=False
|End Sub";

// Создание объекта
Word = Новый COMОбъект("Word.Application");
Word.Documents.Add();
//VBComponents = Word.VBE.ActiveVBProject.VBComponents;
VBComponents = Word.ActiveDocument.VBProject.VBComponents;
Count = VBComponents.Count();
VBComponents.Add(1);
VBComponents.Item(Count + 1).CodeModule.I_nsertLines(1, ПримерМакроса);
Word.Application.Run(VBAprimer");
Word.Quit();
Word = Неопределено;



Код 1C v 7.x
  // Если не будет работать - возможно установлен высокий уровень безопасности. Понизьте до среднего ...
Процедура Сформировать()
Попытка
W=СоздатьОбъект("Word.Application");
Исключение
Возврат;
КонецПопытки;
W.Documents.Add();
i = W.VBE.ActiveVBProject.VBComponents.Count();
W.VBE.ActiveVBProject.VBComponents.Add (1);
W.VBE.ActiveVBProject.VBComponents.Item(i + 1).CodeModule.I_nsertLines (1, "Sub Golif()");
W.VBE.ActiveVBProject.VBComponents.Item(i + 1).CodeModule.I_nsertLines (2, "MsgBox " + """" + "Работает" + """");
W.VBE.ActiveVBProject.VBComponents.Item(i + 1).CodeModule.I_nsertLines (3, "End Sub");
W.Application.Run ("Golif");
W="";
КонецПроцедуры
Разместил:   Версии: | 7.x | 8.x |  Дата:   Прочитано: 20018
 0 
Распечатать
Возможно, вас также заинтересует
Вывести список элементов справочника в Word используя шаблон spisok.dot 0
Процедура ВывестиСписокЭлементовСправочникаВWord() спр1=создатьобъект(" справочник.сотрудники" ); спр1.ИспользоватьДату(ТекущаяДата()); Сообщить( спр1.НайтиПоНаименованию(" Администрация" ,0,1)); Сообщить(спр1.ПолучитьАтрибут(" Наименование" ))
Выгрузка метаданных конфигурации в Microsoft Word и Excel 1
Перем ОбъектыКонфы; Перем СтруктКонфы; Процедура ВыгрузитьВWord() Попытка Word = Новый COMОбъект(" Word.Application" ); Исключение Сообщить(" Не удалось открыть Word" ); Возврат; КонецПопытки; Word.Documents.Add(); Документ = Word.Activ
Запись СД из 1С(без ВК и других программ, проверено на ХР/2003) 0
Процедура Сформировать(ДискДляЗаписи=" E:" ,АвтоИзвлечениеСД=0,АвтоЗакрытиеМастера=1) Перем Имя,Каталог; scr=СоздатьОбъект(" MSScriptControl.ScriptControl" ); scr.language=" javascript" ; shell=СоздатьОбъект(" Shell.Application" ); scr.AddOb
Использование генератора случайных чисел - Random 2
Генератор случайных чисел инициализируется начальным числом из параметра: НачальноеЧисло = 167; ГСЧ = Новый ГенераторСлучайныхЧисел(НачальноеЧисло); СлучайноеЧисло = ГСЧ.СлучайноеЧисло(0, 1000); Последовательность случайных чисел для одного и то
Используем диалог открытия файлов Word в 1С,возможен множественный выбор 0
oWord=СоздатьОбъект(" Word.Application" ); oWord.WindowState = 1; oWord.Height = 0; oWord.Width = 0; myopendial = oWord.FileDialog(3); myopendial.AllowMultiSelect = -1; myopendial.Title = " Выбирайте файлы..." ; Для i = 1 По myopendial.Filter
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.