Also ich hab jetzt mal einen Script erstellt, der an sich schon läuft.
Das Problem bei der Geschichte ist, dass er die Erinnerungszeit nicht übernimmt.
Erstmal der Script:
[i]Option Explicit
’ Speichern des Datensatzes
cRM.CurrentProject.ActiveViews.ActiveView.InvokeMenu 32806, True
’ Definieren der Variablen:
Dim b, oProjecta, oActiveView, oCurrentRecordSet, sPKFieldName, sDSLink, oCurrentRecordSeta
’ Aktives cRM Projekt:
Set oProjecta = cRM.CurrentProject
Set oActiveView = oProjecta.ActiveViews.ActiveView
set oCurrentRecordSet = oActiveView.CurrentRecordSet
set b = oCurrentRecordSet.currentrecord
’ Datensatzverweis der Aufgabe hinzufügen mit HostDatabase später:
sPKFieldName = oActiveView.Config.PrimaryKeyFldName
sDSLink = CStr(oProjecta.ID) & „|“ & _
CStr(oActiveView.Name) & „|“ & _
CStr(oActiveView.Config.FamilyName) & „|“ & _
CStr(sPKFieldName) & „|“ & _
CStr(b.GetContentsByName(CStr(sPKFieldName)))
’ globale Konstante:
Dim Start1, Start2, Start3, Start4, Start5, Ende1, Ende2, Ende3, Ende4, Ende5, User, DatumBeginn
User = b.getcontentsbyname(„Benutzer1“)
DatumBeginn = b.getcontentsbyname(„Ablaufdatum“)
’ globale Variablen:
Dim otm, oTermin, oProject, oTermin1, oTermin2, oTermin3, oTermin4, oTermin5
’ Erstellen der benötigten Objekte:
Set oProject = cRM.CurrentProject
Set otm = oProject.timemanager
Set oTermin1 = otm.Appointments.Add()
’ Setzen der Eigenschaften der Aufgabe und der Termine:
oTermin1.Subject „Virenschutz läuft aus!“
oTermin1.Body b.GetContentsByName(„Bemerkungen“)
oTermin1.Contact b.GetContentsByName(„PersonenID.Personen.ID.CompanyID.Firmen.ID.Company“) & ", " & b.GetContentsByName(„PersonenID.Personen.ID.Firstname“)& " " & b.getcontentsbyname(„PerseonenID.Personen.ID.Name“)
oTermin1.Start DateAdd(„n“,0, DatumBeginn)
oTermin1.User User
oTermin1.HostDatabase = sDSLink
’ Erinnerung 30 Minuten vorher
oTermin1.Reminder = False
oTermin1.ReminderMinutesBeforeStart = 30’ Angabe in Minuten
’ Speichern der angelegten Aufgabe / Termine:
otermin1.Display(True)
’ Ansicht aktualisieren:
otm.UpdateViews
’ Variablen löschen
Set oCurrentRecordSeta = Nothing
Set oTermin = Nothing
Set otm = Nothing
Set oProject = Nothing
Set oProjecta = Nothing
Set b = Nothing
Set oActiveView = Nothing
Set oCurrentRecordSet = NOthing
Set sPKFieldName = Nothing
Set sDSLink = Nothing
Set oTermin1 = Nothing[/i]
Desweiteren müsste ich die Aktion > Benachrichtigung> per E-Mail selbst wieder eintragen, was einen zu hohen Aufwand hat.
durch oTermin1.Subject, kann ich meine Betreffszeile definieren,
gibt es noch weitere Methoden, die NICHT in der Objekt-Referenz stehen?
Bzw. vielleicht hab ichs übersehen und es gibt eine Methode um die Aktion zu definieren.
Wenn das so nicht funktioniert, bin ich für deine erste Variante.
Wie ich aber den Script in der Regestry hinterlege, musst du mir dann noch genauer erläutern.
Gruß Chris