Avtomatsko vstavljanje datuma v obrazce worda
Avtomatsko vstavljanje datuma v obrazce worda
Kako lahko avtomatsko vstaviš v polja obrazca datume, ki se nanašajo na nek datum, ki je pravtako v nekem drugem vnosnem polju obrazca.
Tole pa po moje ne bo šlo brez majhnega makra. Postopek pa je sledeč. Na obrazec vnesite vnosno polje, ki mu nastavite sledeče lastnosti (Vrsta == Datum, omogočite vpis in zahtevajte preračun ob izhodu).
Potem na vsa mesta v dokumentu, kjer želite te datume vnesite dokumentne spremenljivke - Vstavljanje/Polje/DocVariable in jih poimenujet Datum1, Datum2....Datum7.
Nato v dokument skopirajte naslednji makro:
Pojdite nazaj na vnosno polje in postavite Makro ob izhodu na ta makro.
To je to! Opozoril bi vcas samo še na eno pomembno "malenkost". Word se "ne zna" sklicevati na ime polja, zato se je nanj potrebno sklicevati po indeksu.
To je pomembno pi gornji vrstici, kjer morate namesto 1 pač napisati zaporedno številko vašega vnosnega polja glede na celoten obrazec.
Potem na vsa mesta v dokumentu, kjer želite te datume vnesite dokumentne spremenljivke - Vstavljanje/Polje/DocVariable in jih poimenujet Datum1, Datum2....Datum7.
Nato v dokument skopirajte naslednji makro:
Koda: Izberi vse
'
' www.matjazev.net
' maj 2009
'
Sub makroObIzhodu()
Dim dat
dat = ActiveDocument.Fields(1).Result
ActiveDocument.Variables("datum1").Value = dat
ActiveDocument.Variables("datum2").Value = DateValue(dat + 1)
ActiveDocument.Variables("datum3").Value = DateValue(dat + 2)
ActiveDocument.Variables("datum4").Value = DateValue(dat + 3)
ActiveDocument.Variables("datum5").Value = DateValue(dat + 4)
ActiveDocument.Variables("datum6").Value = DateValue(dat + 5)
ActiveDocument.Variables("datum7").Value = DateValue(dat + 6)
ActiveDocument.Fields.Update
End Sub
To je to! Opozoril bi vcas samo še na eno pomembno "malenkost". Word se "ne zna" sklicevati na ime polja, zato se je nanj potrebno sklicevati po indeksu.
Koda: Izberi vse
dat = ActiveDocument.Fields(1).Resultlp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Sub makroObIzhodu()
Dim dat
dat = ActiveDocument.Fields(1).Result
ActiveDocument.Variables("datum1").Value = dat
--tu se ustavi-- ActiveDocument.Variables("datum2").Value = DateValue(dat + 1)
ActiveDocument.Variables("datum3").Value = DateValue(dat + 2)
ActiveDocument.Variables("datum4").Value = DateValue(dat + 3)
ActiveDocument.Variables("datum5").Value = DateValue(dat + 4)
ActiveDocument.Variables("datum6").Value = DateValue(dat + 5)
ActiveDocument.Variables("datum7").Value = DateValue(dat + 6)
ActiveDocument.Variables("datum8").Value = DateValue(dat + 7)
ActiveDocument.Fields.Update
End Sub
Imam več vnosnih polj. Prvo je to v katero vpišem željeni datum. Imam pa osem dokumentnih spremenljivk, ker zaključim z prvim dnem naslednjega tedna. Je potrebno dok.spremenljivke pisati z veliko Datum1...ali je vseeno?
Dim dat
dat = ActiveDocument.Fields(1).Result
ActiveDocument.Variables("datum1").Value = dat
--tu se ustavi-- ActiveDocument.Variables("datum2").Value = DateValue(dat + 1)
ActiveDocument.Variables("datum3").Value = DateValue(dat + 2)
ActiveDocument.Variables("datum4").Value = DateValue(dat + 3)
ActiveDocument.Variables("datum5").Value = DateValue(dat + 4)
ActiveDocument.Variables("datum6").Value = DateValue(dat + 5)
ActiveDocument.Variables("datum7").Value = DateValue(dat + 6)
ActiveDocument.Variables("datum8").Value = DateValue(dat + 7)
ActiveDocument.Fields.Update
End Sub
Imam več vnosnih polj. Prvo je to v katero vpišem željeni datum. Imam pa osem dokumentnih spremenljivk, ker zaključim z prvim dnem naslednjega tedna. Je potrebno dok.spremenljivke pisati z veliko Datum1...ali je vseeno?
Koda: Izberi vse
'
' www.matjazev.net
' maj 2009
'
Sub makroObIzhodu()
Dim dat
dat = ActiveDocument.Fields(1).Result
ActiveDocument.Variables("datum1").Value = dat
ActiveDocument.Variables("datum2").Value = DateValue(dat) + 1
ActiveDocument.Variables("datum3").Value = DateValue(dat) + 2
ActiveDocument.Variables("datum4").Value = DateValue(dat) + 3
ActiveDocument.Variables("datum5").Value = DateValue(dat) + 4
ActiveDocument.Variables("datum6").Value = DateValue(dat) + 5
ActiveDocument.Variables("datum7").Value = DateValue(dat) + 6
ActiveDocument.Fields.Update
End Sub lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
Relativno preprosto (pač glede na že napisano kodo). V dokumentu potrebujete neko mesto, kamor boste tekst vstavili, (npr Field19):
Koda: Izberi vse
ActiveDocument.Variables("Field19").Value = InputBox(...)
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator