Всем доброго дня! У меня проблема с подстановкой данных из Эксель в шаблон Ворд: не происходит замещение переменной (&датаотб2) в колонтитуле. Ввиду полного отсутствия знаний в этом вопросе не могу понять как решить эту проблему. Огромная просьба, если кто-то знает как решить эту задачку, подскажите, пожалуйста, начинающему
Код |
---|
Sub ХВС_Акт_отбора() Dim wdApp As Object Dim wdDoc As Object HomeDir$ = ThisWorkbook.Path Set wdApp = CreateObject("Word.Application") i% = 2 Do If Cells(i%, 1).Value = "" Then Exit Do If Cells(i%, 1).Value <> "" Then NPP$ = Cells(i%, 1).Text наименованиезаказчика$ = Cells(i%, 2).Text юрадресзаказчика$ = Cells(i%, 3).Text наименованиелицафактотб$ = Cells(i%, 4).Text фактичадресотбора$ = Cells(i%, 5).Text контактызаказчика$ = Cells(i%, 6).Text датаотб$ = Cells(i%, 7).Text датадоставки$ = Cells(i%, 8).Text цельотбора$ = Cells(i%, 9).Text методотбора$ = Cells(i%, 10).Text основаниедляотбора$ = Cells(i%, 11).Text хвскодпробы$ = Cells(i%, 12).Text FileCopy HomeDir$ + "\аошаблон2.dotx", HomeDir$ + "\" + NPP$ + "_" + наименованиезаказчика$ + "_" + датаотб$ + ".doc" Set wdDoc = wdApp.Documents.Open(HomeDir$ + "\" + NPP$ + "_" + наименованиезаказчика$ + "_" + датаотб$ + ".doc") wdDoc.Range.Find.Execute FindText:="&date", ReplaceWith:=DataC$ wdDoc.Range.Find.Execute FindText:="&наименованиезаказчика", ReplaceWith:=наименованиезаказчика$ wdDoc.Range.Find.Execute FindText:="&юрадресзаказчика", ReplaceWith:=юрадресзаказчика$ wdDoc.Range.Find.Execute FindText:="&наименованиелицафактотб", ReplaceWith:=наименованиелицафактотб$ wdDoc.Range.Find.Execute FindText:="&фактичадресотбора", ReplaceWith:=фактичадресотбора$ wdDoc.Range.Find.Execute FindText:="&контактызаказчика", ReplaceWith:=контактызаказчика$ wdDoc.Range.Find.Execute FindText:="&датаотб", ReplaceWith:=датаотб$ wdDoc.Range.Find.Execute FindText:="&датаотб1", ReplaceWith:=датаотб$ wdDoc.Range.Find.Execute FindText:="&датаотб2", ReplaceWith:=датаотб$ wdDoc.Range.Find.Execute FindText:="&датадоставки", ReplaceWith:=датадоставки$ wdDoc.Range.Find.Execute FindText:="&цельотбора", ReplaceWith:=цельотбора$ wdDoc.Range.Find.Execute FindText:="&методотбора", ReplaceWith:=методотбора$ wdDoc.Range.Find.Execute FindText:="&основаниедляотбора", ReplaceWith:=основаниедляотбора$ wdDoc.Range.Find.Execute FindText:="&хвскодпробы", ReplaceWith:=хвскодпробы$ wdDoc.Save wdDoc.Close End If i% = i% + 1 Loop wdApp.Quit MsgBox "Готово!" End Sub |
Изменено: Игоr' - 14.03.2021 13:38:20