VBA - Excelből Outlook naptárbejegyzés létrehozása

VBA - Excelből Outlook naptárbejegyzés létrehozása
2019-02-12T10:25:46+01:00
2019-02-12T19:24:18+01:00
2022-10-15T21:40:54+02:00
Nabukodo
Sziasztok!

Szeretnék segítséget kérni az alábbi problémával kapcsolatban.
Adott egy kód, ami létrehozza a bejegyzést (találkozót, értekezletet) a saját Outlook naptáramban. Én viszont azt szeretném elérni, hogy ezt el tudjam küldeni valakinek és csak a címzett naptárában jelenjen meg a bejegyzés, nálam ne.

Körülnéztem a témába, nem találtam rá megoldást.
Előre is köszönöm, ha valaki segítene.

Sub AddAppointments()

Dim I As Long
Dim xRg As Range
Dim xOutApp As Object
Dim xOutItem As Object

Set xOutApp = CreateObject("Outlook.Application")
Set xRg = Range("A2:I2")

For I = 1 To xRg.Rows.Count
Set xOutItem = xOutApp.CreateItem(1)
Debug.Print xRg.Cells(I, 1).Value
xOutItem.Subject = xRg.Cells(I, 1).Value
xOutItem.Location = xRg.Cells(I, 2).Value
xOutItem.Categories = xRg.Cells(I, 8).Value
xOutItem.Start = xRg.Cells(I, 3)
xOutItem.Duration = xRg.Cells(I, 4).Value
If Trim(xRg.Cells(I, 5).Value) = "" Then
xOutItem.BusyStatus = 2
Else
xOutItem.BusyStatus = xRg.Cells(I, 5).Value
End If
If xRg.Cells(I, 6).Value > 0 Then
xOutItem.ReminderSet = True
xOutItem.ReminderMinutesBeforeStart = xRg.Cells(I, 6).Value
Else
xOutItem.ReminderSet = False
End If
xOutItem.Body = xRg.Cells(I, 7).Value
xOutItem.Display
Set xOutItem = Nothing
Next

Set xOutApp = Nothing

End Sub
Mutasd a teljes hozzászólást!

  • Hali!

    Használd a forráskód-gombot (a szerkesztő-mező felett, balról a harmadik: </>), ha forráskódot illesztesz be.

    Mutasd a teljes hozzászólást!
  • Bocsi, még új vagyok. Köszi az eligazítást!

    Sub AddAppointments() Dim I As Long Dim xRg As Range Dim xOutApp As Object Dim xOutItem As Object Set xOutApp = CreateObject("Outlook.Application") Set xRg = Range("A2:I2") For I = 1 To xRg.Rows.Count Set xOutItem = xOutApp.CreateItem(1) Debug.Print xRg.Cells(I, 1).Value xOutItem.Subject = xRg.Cells(I, 1).Value xOutItem.Location = xRg.Cells(I, 2).Value xOutItem.Categories = xRg.Cells(I, 8).Value xOutItem.start = xRg.Cells(I, 3) xOutItem.Duration = xRg.Cells(I, 4).Value If Trim(xRg.Cells(I, 5).Value) = "" Then xOutItem.BusyStatus = 2 Else xOutItem.BusyStatus = xRg.Cells(I, 5).Value End If If xRg.Cells(I, 6).Value > 0 Then xOutItem.ReminderSet = True xOutItem.ReminderMinutesBeforeStart = xRg.Cells(I, 6).Value Else xOutItem.ReminderSet = False End If xOutItem.Body = xRg.Cells(I, 7).Value xOutItem.Display Set xOutItem = Nothing Next Set xOutApp = Nothing End Sub
    Mutasd a teljes hozzászólást!
  • Szia! 

    Egy gyors kérdés:

    Most a címzettnél rendesen megjelenik és nálad is?
    Mutasd a teljes hozzászólást!
  • Jelenleg csak nálam jelenik meg, csak egy naptárbejegyzést hoz létre.
    Manuálisan úgy tudnám a címzett naptárába juttatni, hogy továbbítom a naptárbejegyzést (továbbítás ICalendar-ként), így a címzettnek még el kell fogadnia.

    Ez kellene még valahogy a kódba, hogy ezt így továbbítsa, így csak a címzettnél jelenne meg.

    Másik lehetőség, hogy egy sablon email-lel csak egy linket küldenék a címzettnek, ami az ezt a kódot tartalmazó excelre mutatna, ebben pedig egy "elfogadom" gomb lefuttatná, így beíródik a saját naptárába.
    Mutasd a teljes hozzászólást!
  • Ez nem rossz!

    Ilyennel még nem találkoztam. Nem is tudtam, hogy van ilyen. A megoldás inkább olyasmi lehet, hogy ezt a '.ics' fájlt kellene legenerálni elsőnek, majd egy másik rutinban azt csatolmányként elküldeni a címzetteknek. Ez két külön kód szerintem. 

    Sajnos nem tudok jobbat, mert mint mondtam ez nekem új.

    A fájl generáláshoz segítség:

    Excel VBA – Create iCalendar file

    Az automatikus levélküldéshez (bár a csatolmány fájl nincs benne, de találni fogsz példát arra is.):

    How to Send Emails From an Excel Spreadsheet Using VBA Scripts
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd