Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: hexbsc am 16.06.14 - 11:50:51

Titel: Kalendereintrag mit VBA Excel 2010
Beitrag von: hexbsc am 16.06.14 - 11:50:51
Hallo zusammen,

ich habe eine Frage:

Ich habe mir ein Skript asu dem Netz soweit zusammengebastelt, womit ich via einer Schaltfläche in Excel einen Termin in Notes setzen kann. Das funktioniert auch soweit, allerdings noch nicht so wie ich es möchte...

Hier der Code:

Code
Private Sub Reminder_Click()
Dim VornameX As String, NachnameX As String
Dim WDatumX As Variant, SubjectX As Variant
Dim LocationX As Variant
Dim MailadressX As Variant



WDatumX = Worksheets("HR & IT-Prozess").Range("B68").Value
SubjectX = "Eintritt " & Worksheets("HR & IT-Prozess").Range("B56").Value & " " & Worksheets("HR & IT-Prozess").Range("B57").Value
LocationX = Worksheets("HR & IT-Prozess").Range("B7").Value
MailadressX = Worksheets("E-Mails").Range("E33").Value

'Set up the objects required for Automation into lotus notes
    Dim Maildb As Object 'The mail database
    Dim MailDbName As String 'The persons notes mail database name
    Dim CalenDoc As Object 'The calendar entry itself
    Dim WorkSpace As Object
    Dim Subject As String 'The Headline
    Dim Appdate As String 'The calendardate
    
   
    Set WorkSpace = CreateObject("Notes.NOTESUIWORKSPACE")
    Set CalenDoc = WorkSpace.COMPOSEDOCUMENT("", "", "Appointment")
    CalenDoc.FIELDSETTEXT "AppointmentType", "3"
                          'AppointmentType 1 = Jahrestag
                          'AppointmentType 2 = Ganztägige Veranstaltung
                          'AppointmentType 3 = Besprechung
                          'AppointmentType 4 = Erinnerung
    CalenDoc.FIELDSETTEXT "StartDate", CStr(Format(WDatumX, "dd/mm/yy"))
    CalenDoc.FIELDSETTEXT "StartTime", CStr("09:30:00")
    CalenDoc.FIELDSETTEXT "EndDate", CStr(Format(WDatumX, "dd/mm/yy"))
    CalenDoc.FIELDSETTEXT "EndTime", CStr("09:30:00")
    'CalenDoc.FIELDSETTEXT "Duration", CStr(Duration)
    CalenDoc.FIELDSETTEXT "Location", LocationX
    'CalenDoc.FIELDSETTEXT "SendTo", MailadressX
    CalenDoc.FIELDSETTEXT "Subject", SubjectX
    CalenDoc.FIELDSETTEXT "Body", "" 'SubjectX
    CalenDoc.FIELDSETTEXT "Categories", ""
    
    'CalenDoc.Save False, False, False
    'CalenDoc.Close
    
    Set Maildb = Nothing
    Set CalenDoc = Nothing
    Set WorkSpace = Nothing
    MsgBox "Der Wiedervorlagetermin ist in Notes übertragen worden"
End Sub

Wenn ich nun die Schaltfläche in Excel betätige, wird leider nur ein Appointment erstellt, aber kein Meeting, obwohl ich diese per AppointmentType definiert habe...

Was muss man machen, damit auch ein Meeting herauskommt?

Zusatzfrage: Welche Befehlszeile benötigt man, um die Funktion "Notify me" zu aktivieren und die Erinnerung auf eine Woche vorher zu stellen?

Vielen Dank im Voraus für eure großartige Hilfe.

Gruß,

hexbsc
Titel: Re: Kalendereintrag mit VBA Excel 2010
Beitrag von: ascabg am 16.06.14 - 12:05:13
Hallo,

Primaer vermisse ich schon mal die Felder "Form" und "CaledarDateTime".

Auch die Einstellung ueber "Notity me" ist letztendlich nichts anders als entsprechend gesetzte Felder.
($Alarm, $AlarmOffset, ...)


Andreas
Titel: Re: Kalendereintrag mit VBA Excel 2010
Beitrag von: hexbsc am 16.06.14 - 12:17:26
Hallo Andreas,

vielen Dank für die schnelle Antwort.

Könntest du dies bitte etwas mehr präziseren? Ich bin auf dem Gebiet leider (noch) nicht so bewandert.

Wie muss ich deine Anforderungen in den Code einbauen?

Vielen Dank im Voraus für deine Hilfe.

Gruß,
hexbsc
Titel: Re: Kalendereintrag mit VBA Excel 2010
Beitrag von: Tode am 16.06.14 - 12:26:27
@Andreas: Die Felder fehlen, weil die Maske im FRONTEND per Compose aufgemacht wird... Deshalb auch die "FIELDSETTEXT" anstatt "ReplaceItemValue" wie man es erwarten würde...
Titel: Re: Kalendereintrag mit VBA Excel 2010
Beitrag von: ascabg am 16.06.14 - 12:36:55
@Tode

Ups.
Total Ueberlesen.


Andreas
Titel: Re: Kalendereintrag mit VBA Excel 2010
Beitrag von: helene.g am 16.06.14 - 13:37:57
Du kannst dir mal einen Testtermin erstellen und über Datei - Anwendung - Eigenschaften die Inhalte der Felder des Dokumentes anzeigen lassen. Dann weißt du welcher Felder überhaupt existieren und welche wie gefüllt werden müssen, wenn du z. B. eine Benachrichtigung etc. haben willst.

Liebe Grüße
Helene
Titel: Re: Kalendereintrag mit VBA Excel 2010
Beitrag von: umi am 16.06.14 - 13:39:02
Hallo Hexbsc

Naja, am "einfachsten" öffnest Du die Mailbox im Designer Client und schaust dort im Form "Appointment" nach den gesuchten Feldern.
Da Du über ein NotesUIDocument gehst, funktioniert das mit dem Appointment Type Alias nicht. Du müsstest da den Wert, so wie er vom Benutzer ausgewählt wird, eintragen. In deinem Fall wohl "Besprechung"