Макрос в Word

1. avart2006 17.06.22 14:06 Сейчас в теме
Здравствуйте!
Как запустить из 1С макрос на сравнение 2-х файлов?
Текст макроса такой:
Sub Макрос1()
'
' Макрос1 Макрос
'
'
Application.CompareDocuments OriginalDocument:=Documents("Файл1.docx"), _
RevisedDocument:=Documents("Файл2.docx"), _
Destination:=wdCompareDestinationNew, Granularity:=wdGranularityWordLevel _
, CompareFormatting:=True, CompareCaseChanges:=True, CompareWhitespace:= _
True, CompareTables:=True, CompareHeaders:=True, CompareFootnotes:=True, _
CompareTextboxes:=True, CompareFields:=True, CompareComments:=True, _
CompareMoves:=True, RevisedAuthor:="Информатики Отдел", _
IgnoreAllComparisonWarnings:=False
ActiveWindow.ShowSourceDocuments = wdShowSourceDocumentsBoth
End Sub

Обязательные первые 2 параметра.
Через ШаблонВорд.VBProject путем программной построчной вставки кода макроса не получается. В офисе 2019 выдает ошибку Метод объекта не обнаружен (InsertLines). Никак не победить. В предыдущих версиях InsertLines получался.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user686924_shipikVV 17.06.22 15:12 Сейчас в теме
А зачем макросом? Можно и средствами 1С или Командами Windows (FC - команда, например).
3. avart2006 17.06.22 16:27 Сейчас в теме
(2)В данном случае надо чтобы в Word-е открылось. Для дальнейшей работы пользователя, грубо говоря для сравнения измененного файла с шаблоном.
4. comptr 34 19.06.22 20:07 Сейчас в теме
Сравнение файлов Word через COM-объект:
ОбъектWord = Новый COMОбъект("Word.Application");
ОбъектWord.Visible = 0;
ОбъектWord.WordBasic.DisableAutoMacros(1);

Документ = ОбъектWord.Documents.Open(ПутьКФайлу1);
Документ.Revisions.AcceptAll();

Документ2 = ОбъектWord.Documents.Open(ПутьКФайлу2);
Документ2.Revisions.AcceptAll();
	
wdCompareDestinationNew = 2;
wdGranularityCharLevel = 0;
CompareFormatting = Истина;
IgnoreAllComparisonWarnings = Истина;
ОбъектWord.CompareDocuments(
	Документ, 
	Документ2, 
	wdCompareDestinationNew, 
	wdGranularityCharLevel,,,,,,,,,,,
	IgnoreAllComparisonWarnings
	);
		
ОбъектWord.Visible = 1;
ОбъектWord.Activate(); 	
			
wdDoNotSaveChanges = 0;
Документ.Close(wdDoNotSaveChanges);
Документ2.Close(wdDoNotSaveChanges);
Показать
5. avart2006 20.06.22 09:55 Сейчас в теме
Браво! Получилось. Спасибо!!!
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот