Discussion:
Makro soll nur bis zu einem bestimmten Datum ausgeführt werden - Word 2003
(zu alt für eine Antwort)
Paul Weller
2010-05-25 18:08:08 UTC
Permalink
Hallo!
Ich bin zugegebener Maßen ein Frischling auf dem Gebiet der
Makro-Programmierung und hoffe, dass ich mich mit meiner
Frage nicht allzu lächerlich mache, weil es möglicherweise
eine simple Antwort gibt, aber ich bekomme es einfach nicht
hin.

Ich habe einen Makro geschrieben, der aber nur bis zu
einem bestimmten Datum aktiv sein soll, danach
soll durch einen Sprung innerhalb des Makros etwas anderes
ausgeführt werden.
Es soll nach dem Systemdatum und (als zusätzliche
Prüfung) das TextFeld DATUM gefragt werden.

Also als Beipspiel:
a) Wenn Systemdatum gleich oder größer als 31.12.2010
weiter bei Sprungmarke X

b)X - Wenn Datum aus Feld DATUM gleich oder größer als
31.12.2010 dann weiter bei Sprungmarke XY.

Wenn es zu schwierig ist würde mir auch das Jahr als Kriterium
reichen...(das war mein Ansatz, das Jahr in eine Zahl umzuwandeln,
weil ich mit dem Datum nicht geschafft habe, aber ich bin kläglich
gescheitert...) vielleicht kann mir jemand
diese Abfragen in Code umwandeln? Vielen Dank im voraus.
Martin
2010-05-26 07:03:50 UTC
Permalink
Hallo Paul

das sollte ein Ansatz sein...

If Format(Date, "yyyymmdd") > 20101231 then ...

hth, Martin
Post by Paul Weller
Hallo!
Ich bin zugegebener Maßen ein Frischling auf dem Gebiet der
Makro-Programmierung und hoffe, dass ich mich mit meiner
Frage nicht allzu lächerlich mache, weil es möglicherweise
eine simple Antwort gibt, aber ich bekomme es einfach nicht
hin.
Ich habe einen Makro geschrieben, der aber nur bis zu
einem bestimmten Datum aktiv sein soll, danach
soll durch einen Sprung innerhalb des Makros etwas anderes
ausgeführt werden.
Es soll nach dem Systemdatum und (als zusätzliche
Prüfung) das TextFeld DATUM gefragt werden.
a) Wenn Systemdatum gleich oder größer als 31.12.2010
weiter bei Sprungmarke X
b)X - Wenn Datum aus Feld DATUM gleich oder größer als
31.12.2010 dann weiter bei Sprungmarke XY.
Wenn es zu schwierig ist würde mir auch das Jahr als Kriterium
reichen...(das war mein Ansatz, das Jahr in eine Zahl umzuwandeln,
weil ich mit dem Datum nicht geschafft habe, aber ich bin kläglich
gescheitert...) vielleicht kann mir jemand
diese Abfragen in Code umwandeln? Vielen Dank im voraus.
Thomas Gahler
2010-05-26 08:31:01 UTC
Permalink
Hallo Paul
Post by Paul Weller
soll durch einen Sprung innerhalb des Makros etwas anderes
ausgeführt werden.
Springen im Programmcode ist out. Es wird struktiuriert programmiert
Post by Paul Weller
a) Wenn Systemdatum gleich oder größer als 31.12.2010
weiter bei Sprungmarke X
b)X - Wenn Datum aus Feld DATUM gleich oder größer als
31.12.2010 dann weiter bei Sprungmarke XY.
Das sieht dann ungefähr so aus



Sub Demo()

If Format$(Now, "yyyymmdd") >= "2001231" Then
MsgBox "Systemdatum ist grösser 31.12.2010"

If Format$(ActiveDocument.Bookmarks("Datum").Range.Text, "yyyymmdd") >=
"20101231" Then
MsgBox "DATUM ist ebenfalls grösser 31.12.2010"
Else
MsgBox "DATUM ist kleiner 31.12.2010, aber Systemdatum ist grösser"
End If
Else
MsgBox "Systemdatum ist kleiner, DATUM wird nicht geprüft"
End If
End Sub
--
Thomas Gahler
Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)


- Windows XP (SP3), Office XP (SP3)
Loading...