Autor Thema: Kalendereintrag mit VBA Excel 2010  (Gelesen 3074 mal)

Offline hexbsc

  • Frischling
  • *
  • Beiträge: 13
Kalendereintrag mit VBA Excel 2010
« 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

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Kalendereintrag mit VBA Excel 2010
« Antwort #1 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

Offline hexbsc

  • Frischling
  • *
  • Beiträge: 13
Re: Kalendereintrag mit VBA Excel 2010
« Antwort #2 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

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Kalendereintrag mit VBA Excel 2010
« Antwort #3 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...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Kalendereintrag mit VBA Excel 2010
« Antwort #4 am: 16.06.14 - 12:36:55 »
@Tode

Ups.
Total Ueberlesen.


Andreas

Offline helene.g

  • Frischling
  • *
  • Beiträge: 6
  • Geschlecht: Weiblich
  • "Gestern ging noch alles"
Re: Kalendereintrag mit VBA Excel 2010
« Antwort #5 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

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Kalendereintrag mit VBA Excel 2010
« Antwort #6 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"
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz