Hi Tweakers
Ich blick bei Makros nicht mehr wirklich durch, aber sollte ein solches in ein neues Dokument migrieren. Kann mir jemand helfen bitte?
Ich habe ein neues Dokument erstellt, basierend auf einer total neuen Normal.dotm und möchte nun dieses Makro einfügen, doch hängt er sich beim debuggen bereits bei der 3. Zeile auf
Kann mir wer sagen, was ich genau für die ActiveDocument.Fields resp für die ActiveDocument.Bookmarks im Dokument vorbereiten muss, damit das Makro wieder reibungslos abläuft?
Danke und Gruss tiG
€:das ganze Makro sieht folgendermassen aus:
Sub Option_()
'6 Franken für Parkplätze zwischen 1.12 und 22.4
ArrDate1 = ActiveDocument.Fields(10).Result
ArrDate1 = CDate(ArrDate1)
PPMonthOnArr = DatePart("m", ArrDate1)
PPDayOnArr = DatePart("d", ArrDate1)
Select Case PPMonthOnArr
Case Is = 12, Is < 4
PPDecide = "wahr"
Case Is = 4
If PPDayOnArr <= 22 Then
PPDecide = "wahr"
Else: PPDecide = "falsch"
End If
Case Else
PPDecide = "falsch"
End Select
If PPDecide = "wahr" Then
PPOutput = " (CHF 6.- pro Nacht)"
Else
PPOutput = ""
End If
ActiveDocument.Bookmarks("PP").Select
Selection.InsertAfter PPOutput
'Preis für HP nach Datum: Sommersaison: 1.5 - 30.10
priceSummer = "25"
priceWinter = "38"
ArrDate = ActiveDocument.Fields(10).Result
ArrDate = CDate(ArrDate)
HPMonthOnArr = DatePart("m", ArrDate)
HPDayOnArr = DatePart("d", ArrDate)
HPYearOnArr = DatePart("yyyy", ArrDate)
Select Case HPMonthOnArr
Case Is = 10
If HPDayOnArr = 30 Then
HPDecide = "wahr"
Else
HPDecide = "falsch"
End If
Case Is > 10, Is < 5
HPDecide = "wahr"
Case Else
HPDecide = "falsch"
End Select
If HPYearOnArr > 2007 Then
If HPMonthOnArr >= 5 Then
priceSummer = "27"
priceWinter = "38"
End If
End If
If HPDecide = "falsch" Then
HPOutput = priceSummer
Else
HPOutput = priceWinter
End If
ActiveDocument.Bookmarks("HPpricechange").Select
Selection.InsertAfter HPOutput
'Davos Inclusive nur im Sommer anzeigen
textSummer = "Im Sommer fahren Sie tagsüber mit unseren Bergbahnen umsonst und so oft Sie wollen auf unsere atemberaubenden Berge. Beachten Sie dazu den Sommerfahrplan."
GCMonthOnArr = PPMonthOnArr
GCDayOnArr = PPDayOnArr
Select Case GCMonthOnArr
Case Is = 10
If GCDayOnArr = 30 Then
GCDecide = "wahr"
Else
GCDecide = "falsch"
End If
Case Is >= 10, Is < 5
GCDecide = "wahr"
Case Else
GCDecide = "falsch"
End Select
If GCDecide = "falsch" Then
ActiveDocument.Bookmarks("guestcard").Select
Selection.InsertAfter textSummer
End If
'Antwort innerhalb von 7 Tagen nach Date
ReplyDatum = DateAdd("d", 7, Date)
InputRep = InputBox("Bitte geben Sie ein alternatives Datum für das gewünschte Antwortdatum an, oder übernehmen Sie das bereits eingetragene.", "Antwortdatum", ReplyDatum)
ReplyDatum = CDate(InputRep)
ReplyWochentagnummer = Weekday(ReplyDatum, vbMonday)
ReplyWochentag = WeekdayName(ReplyWochentagnummer)
ReplyOutput = ReplyWochentag & ", " & ReplyDatum & " "
ActiveDocument.Bookmarks("replyondate").Select
Selection.InsertAfter ReplyOutput
'Saisonabhängiges Programm von In and Out
textSummer = ", von Wandern über Klettern hin zu Schwimmen und Vollmond Nordic-Walking Tours"
textWinter = ", von Freeridecamps und Lawinenkursen über geführte Touren bis hin zu Airboarding, Iglubau und Eskimo-Trips."
If GCDecide = "falsch" Then
ActiveDocument.Bookmarks("inout").Select
Selection.InsertAfter textSummer
Else
ActiveDocument.Bookmarks("inout").Select
Selection.InsertAfter textWinter
End If
End Sub