2016-05-04 15 views
0

Ich versuche, Daten von Excel nach Outlook-Termin zu kopieren. Ich habe bereits eine Vorlage mit einer Tabelle und einigen Bildern erstellt und möchte, dass die Daten aus der Excel-Datei in die bereits formatierte Tabelle im Hauptteil der Vorlage kopiert werden. Im Gegensatz zu E-Mail unterstützt Outlook Termin ".htmlbody" Eigenschaft daher nicht, es wird schwierig, die Daten in der Vorlage einzufügen.VBA Outlook Appointment

Bisher Ich versuche, dies zu tun:

Dim olAppItem as Outlook.AppointmentItem 
Set olAppItem = olApp.CreateItemFromTemplate("C:\Users\User1\Desktop\Invite.oft") 

Die folgenden zwei Zeilen ist, wo ich ein Problem habe.

olAppItem.BodyFormat = olFormatRichtext 
olAppItem.RTFBody = Replace(olAppItem.RTFBody, "%1%", "Test", , , vbDatabaseCompare) 

Ich habe versucht, olAppItem.Bodyformat-olformatHTML auch einstellen, aber es nicht die Eigenschaft unterstützen.

Jede Hilfe wird geschätzt.

Danke.

+0

Ich bin mir bewusst, der Eigenschaften 'RTFBody' und' Body' wie sie 'AppointmentItem' gelten. Doch ich war mir eines 'BodyFormats' nicht bewusst. Bei der Suche in der VBE-Bibliothek konnte ich auch die 'BodyFormat'-Eigenschaft nicht finden. Ich frage mich also, ob das ein Tippfehler ist oder ob Sie eine andere Outlook-Version verwenden, in der möglicherweise noch eine solche Eigenschaft vorhanden ist. https://msdn.microsoft.com/en-us/library/office/dn320241.aspx – Ralph

+1

Die Dokumentation impliziert Outlook unterstützt RTF, aber ich habe es versäumt, es zu arbeiten, als ich vor vielen Jahren versuchte. Wäre das Hinzufügen einer Arbeitsmappe zum 'AppointmentItem' eine akzeptable Lösung? –

Antwort

0

Bitte versuchen Sie es.

Private Sub Add_Appointments_To_Outlook_Calendar() 

    'Include Microsoft Outlook nn.nn Object Library from Tools -> References 
    Dim oAppt As AppointmentItem 
    Dim Remind_Time As Double 

    i = 2 
    Subj = ThisWorkbook.Sheets(1).Cells(i, 1) 

    'Loop through entire list of Reminders to be added 
    While Subj <> "" 
     Set oAppt = Outlook.Application.CreateItem(olAppointmentItem) 

     oAppt.Subject = Subj 
     oAppt.Location = ThisWorkbook.Sheets(1).Cells(i, 2) 
     oAppt.Start = ThisWorkbook.Sheets(1).Cells(i, 3) 
     Remind_Time = ThisWorkbook.Sheets(1).Cells(i, 4) * 1 * 60 
     oAppt.ReminderMinutesBeforeStart = Remind_Time 
     oAppt.AllDayEvent = True 
     oAppt.Save 

     i = i + 1 
     Subj = ThisWorkbook.Sheets(1).Cells(i, 1) 
    Wend 
    MsgBox "Reminder(s) Added To Outlook Calendar" 

End Sub 

' The code comes from this link: 

http://officetricks.com/add-appointment-to-outlook-calendar-through-excel-macro-vba/

schrieb ich ein Buch über diese Art von Dingen, und viele andere ähnliche, aber verschiedene Dinge. Überprüfen Sie es über den folgenden Link.

https://www.amazon.com/Automating-Business-Processes-Reducing-Increasing-ebook/dp/B01DJJKVZC?ie=UTF8&keywords=ryan%20shuell&qid=1463833985&ref_=sr_1_1&sr=8-1

Verwandte Themen