VBA-Excel-Outlook (2010) - Erstellen von Terminen aus der Datum-Spalte mit Eindeutigen Daten nur
Info: MS Office 2010
Problem(s) Mehrere Outlook-Profile & Mehrere Kalender & Gleichen Datum wiederholt - ich will nur einzigartige
Aus: Excel 2010
: Outlook 2010
Frage:
Ich möchte ein VBA ausgeführt wird, aus Excel in Outlook. Ich möchte, um Termine zu erstellen (Aufgaben, wenn es nachweislich zu weit mehr geeignet) basiert auf einer date-Spalte in mein Blatt.
Den zentralen Fragen sind:
+ Ich habe 3 verschiedene profile, ich will nur die Termine/Aufgaben zeigt, die in 1 Profil (Admin).
+ Ich habe verschiedene Kalender, würde ich lieber den Termin in der default.
+ Ich möchte hinzufügen Kategorien auf meinen Termin/Aufgabe
+ Ich habe 10.000 Zeilen der Daten, die Termine zu wiederholen (sehr viel), ich möchte nur einmalige Termine.
+ Ich nicht wollen zu haben, die vor-Termine erstellen von Terminen/Aufgaben (wenn möglich).
Lauf ich 2 reports:
1. Dienstag des Monats, zieht all die sales-Daten von den vorherigen Monaten.
4 Tage vor EOM Lauf ich dem Bericht eine 2. Zeit mit der Suche für verspätete Zahlungen, Abnahmen oder Erstattungen sowie Verteiler Auszahlungen.
Die Termine/Aufgaben sind entsprechend der Daten in excel oder speichern Sie einige Spalte Platz ich wäre froh, es geschrieben zu den VBA-code zum festlegen der Termine:
1. Dienstag im Monat
4 Tage vor EOM
Ich habe ein paar tolle starter-code, aber da hat mir eine Menge von Daten, auf die gefiltert werden (einmalige Termine nur, und aktuelle Termine in der Zukunft bevorzugt), ich bin mir nicht sicher, was ich brauche, geändert in meinem code, damit es geeignet für mein setup.
Ref:
http://www.ozgrid.com/forum/showthread.php?t=18157&p=92262#post92262
http://www.vbaexpress.com/forum/showthread.php?25423-Solved-Excel-generate-calendar-appointments-in-Outlook&s=da1942ccfb8b85e3e7eb74ac4c95ed7d&p=177521&viewfull=1#post177521
Meinen aktuellen code
Gespeichert/Erstellt in: Makro-fähiges Arbeitsblatt, Modulen (die Allgemeine, nicht unter den Namen des Blattes), Extras/Verweise/Microsoft Office 14.0 Object Library [Geprüft].
Sub StoreReminders()
Dim appOL As Object
Dim objReminder As Object
Set appOL = GetObject(, "Outlook.application")
Set objReminder = appOL.CreateItem(1) ' olAppointmentItem
Set ws1 = Worksheets("sql all 20131228")
objReminder.Start = ws1.Range("a1") & "10:30"
objReminder.Duration = "05:00"
objReminder.Subject = "EOM Reports #1"
objReminder.ReminderMinutesBeforeStart = 30
objReminder.ReminderSet = True
objReminder.Categories = "Acc - 1st Report"
'Becomes: "Acc - EOM Final" when 2nd appointment runs'
objReminder.BusyStatus = olBusy
objReminder.Save
End Sub
Ich erhalte eine Fehler mit einigen dieser, beginnend mit: Set appOL = GetObject(, "Outlook.application")
Jede Hilfe wäre toll, ich bin schneiden & paste code zusammen und ich kann einfach nicht vorbei an den Fehler.
Vielen Dank im Voraus 🙂
UPDATE
Ich erhielt die folgende Fehlermeldung, wenn ich auf neuen code:
Kompilieren-Fehler: benutzerdefinierter Typ nicht definiert
Sub SetAppt()
Dim olApp As Outlook.Application
Dim olApt As AppointmentItem
Dim MySheet As Worksheet
Set MySheet = Worksheets("sql all 20131228")
Set olApp = New Outlook.Application
Set olApt = olApp.CreateItem(olAppointmentItem)
With olApt
.Start = ws1.Range("n7") + TimeValue("10:30")
'Time is set to 10:30AM on the date of the reminder'
.Duration = "05:00"
.Subject = "EOM Reports #1"
.Location = "Office"
.Body = "Start of Month, EOM Reports"
.BusyStatus = olBusy
.ReminderMinutesBeforeStart = 60
.Categories = "Acc - 1st Report"
'Becomes: "Acc - EOM Final" when 2nd appointment runs'
.ReminderSet = True
.Save
End With
Set olApt = Nothing
Set olApp = Nothing
End Sub
Also, immer noch auf Platz eins nicht auch basic-code arbeitet, also nicht sicher, wie erweitert (Outlook-Benutzer-Profil, Einmalig nur Daten usw).
InformationsquelleAutor MrsAdmin | 2014-01-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie den richtigen Verweis auf die Outlook-VBA-Modul.
Gehen Sie auf Extras-->Verweise, und wählen Sie "Microsoft Outlook vXX Bibliothek"
Dass sollte das problem lösen.
InformationsquelleAutor Steve Gon