VBA для Word

Форум для программистов

Сообщение ita » Ср июл 30, 2003 10:09 am

вобщем сделал макрос, прицепил его к шаблону, теперь при запуске шаблона автоматически вылетает форма, в ней нужно заполнить поля, дальше макрос заполняет весь документ (это договор, вставляются дата, реквизиты)..

вот сам код
Код: выделить все
Private Sub replacer(oldtext As String, newtext As String)
'дальше все взял из записанного макроса замены, че тут к ччему -  понимаю смутно:)
   Selection.Find.ClearFormatting
   Selection.Find.Replacement.ClearFormatting
   With Selection.Find
       .Text = oldtext
       .Replacement.Text = newtext
       .Forward = True
       .Wrap = wdFindContinue
       .Format = False
       .MatchCase = False
       .MatchWholeWord = False
       .MatchWildcards = False
       .MatchSoundsLike = False
       .MatchAllWordForms = False
   End With
   Selection.Find.Execute Replace:=wdReplaceAll
End Sub

Private Sub hideform()
   Unload Me
End Sub

Private Sub go_Click()
   Dim replasment As String
   replasment = Fform.doc_date
   Call replacer("<date>", replasment)
   replasment = Fform.doc_mons
   Call replacer("<mons>", replasment)
   replasment = Fform.doc_num
   Call replacer("<num>", replasment)
   replasment = Fform.firm
   Call replacer("<firm>", replasment)
   replasment = Fform.firmboss
   Call replacer("<firmboss>", replasment)
   replasment = Fform.ustav
   Call replacer("<ustav>", replasment)
   replasment = Fform.statplat
   Call replacer("<statplat>", replasment)
   replasment = Fform.rec1
   Call replacer("<rek1>", replasment)
   replasment = Fform.rec2
   Call replacer("<rek2>", replasment)
   replasment = Fform.rec3
   Call replacer("<rek3>", replasment)
   replasment = Fform.rec4
   Call replacer("<rek4>", replasment)
   replasment = Fform.rec5
   Call replacer("<rek5>", replasment)
   replasment = Fform.rec6
   Call replacer("<rek6>", replasment)
   replasment = Fform.rec7
   Call replacer("<rek7>", replasment)
   Call hideform()
End Sub


вобшем первый вопрос - Sub go_Click()
не нравится, надо бы цикл организовать, а вот как.. как получить поочередно в переменную replasment все значения заполненных полей? или лучше слелать массив с этими значениями, массив с стандартными шаблонами, кот нужно заменять и потом уже поочередно обрабатывать оба массива

второе не могу заменить строку которая находится в коллонтитуле - до не как добратся?
Продается лунный грунт! Предоплата 100%, самовывоз.
ita
Подполковник
 
Сообщений: 717
Зарегистрирован: Ср сен 11, 2002 12:00 am
Откуда: dp.ua
Пункты репутации: 0

Сообщение ita » Чт июл 31, 2003 7:35 am

хех, пробовал сделать массив
Код: выделить все
dim mas as new collection
with mas
.add ("<num>")
.add ("<date>")
.....
end with

не работает, при запуске выдает ошибку, deburg пока зует на первый add... в чем проблема?
Последний раз редактировалось ita Чт июл 31, 2003 7:36 am, всего редактировалось 1 раз.
Продается лунный грунт! Предоплата 100%, самовывоз.
ita
Подполковник
 
Сообщений: 717
Зарегистрирован: Ср сен 11, 2002 12:00 am
Откуда: dp.ua
Пункты репутации: 0


Вернуться в Программирование

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron