Всем доброго дня! У меня проблема с подстановкой данных из Эксель в шаблон Ворд: не происходит замещение переменной (&датаотб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 |
Изменено: - 14.03.2021 13:38:20