Код |
---|
Sub AKT() Dim wdApp As Object Dim wdDoc As Object HomeDir$ = ThisWorkbook.Path Set wdApp = CreateObject("Word.Application") i% = 3 Do If Cells(i%, 1).Value = "" Then Exit Do If Cells(i%, 1).Value <> "" Then Название$ = Cells(i%, 1).Value Производитель$ = Cells(i%, 2).Value Центр$ = Cells(i%, 3).Value AG$ = Cells(i%, 4).Value AT$ = Cells(i%, 5).Value DataC$ = Date FileCopy HomeDir$ + "\AKT.doc", HomeDir$ & "\" & "Готовые документы" + "\Акт " + Название$ + "_" + Производитель$ + "_" + DataC$ + ".doc" Set wdDoc = wdApp.Documents.Open(HomeDir$ & "\" & "Готовые документы" + "\Акт " + Название$ + "_" + Производитель$ + "_" + DataC$ + ".doc") wdDoc.Range.Find.Execute FindText:="&date", Replacewith:=DataC$, Replace:=2 wdDoc.Range.Find.Execute FindText:="&ID", Replacewith:=Название$, Replace:=2 wdDoc.Range.Find.Execute FindText:="&OOO", Replacewith:=Производитель$, Replace:=2 wdDoc.Range.Find.Execute FindText:="&Centr", Replacewith:=Центр$, Replace:=2 wdDoc.Range.Find.Execute FindText:="&AG", Replacewith:=AG$, Replace:=2 wdDoc.Range.Find.Execute FindText:="&AT", Replacewith:=AT$, Replace:=2 wdDoc.Range.Find.Execute Replace:=wdReplaceALL wdDoc.Save wdDoc.Close End If i% = i% + 1 Loop wdApp.Quit MsgBox "Готово!" End Sub |
иерархия сохранения файла нечто похожим : Есть к примеру С:\новая папка\ в ней есть 2 папки (шаблоны и готовые документы), сейчас же файлы сохраняется в ту же папку где excel файлам я создал папку "Готовые документы" ,как нечто временное что б файлы не смешивались, но необходимо сохранять на уровень выше в папке "Готовые документы". везде решают проблему точным указанием папки на компьютере, но такой вариант не подходит т.к будет файл с шаблонами перемещаться на разные компьютеры и у каждого пользователя своя иерархия и будет все сбиваться и макрос не будет работать.
постарался внятно все объяснить))
Заранее благодарен за вашу неоценимую помощь!!!!!!