Anzeige
Archiv - Navigation
1536to1540
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Problem in VBA nach Wechsel (Office 2010 zu 2013)

Problem in VBA nach Wechsel (Office 2010 zu 2013)
24.01.2017 17:35:18
Fabian
Hallo zusammen,
nach dem Wechsel von MS 2010 auf 2013 bricht mein VBA zum Import von Einträgen in Outlook bei der Funktion von CDATE mit einer Fehlermeldung ab. Kennt jemand das Thema? Ist ggf. eine Verweis zu ändern?
Danke und viele Grüße
FK

Public Sub ExportBirthdays()
' Export nach Outlook
On Error GoTo error_bday
'Deklarationen
'Excel
Dim wks As Worksheet
Dim rDate As Range
'Outlook
Dim oApp As Outlook.Application
Dim oNs As Outlook.Namespace
Dim oFld As Outlook.MAPIFolder
Dim oTmpAI As Outlook.AppointmentItem
Dim oRP As Outlook.RecurrencePattern
'Initialisierung
Set wks = Worksheets("Geburtstagsliste")            'Hier Name des Worksheets anpassen
Set oApp = CreateObject("Outlook.Application")      'Outlook-Applikation erstellen
Set oNs = oApp.GetNamespace("MAPI")
Set oFld = oNs.GetDefaultFolder(olFolderCalendar)   'Kalender
'Alle Zellen der Spalte A durchlaufen. Der Rest wird über Offsets geregelt.
For Each rDate In wks.Range("A2:A" & wks.UsedRange.Rows.Count).Cells
'Prüfung, ob Geburtstag bereits eingetragen wurde
Set oTmpAI = oFld.Items.Find("[Location] = " & Chr(34) & rDate.Offset(0, 2).Text & Chr(  _
_
_
_
34) & " and [Subject] = " & Chr(34) & rDate.Offset(0, 1).Text & Chr(34))
If oTmpAI Is Nothing Then
'hinzufügen des items
Set oTmpAI = oFld.Items.Add
'Anpassen der Eigenschaften.
With oTmpAI
.Start = CDate(Mid(rDate.Text, 1, 6) & Year(Now))                       ' _
Datum
                .Subject = rDate.Offset(0, 1).Text                                      ' _
Betreff ("Birthday")
.Location = rDate.Offset(0, 2).Text                                     'Ort (   _
_
_
_
Geburtstagskind ;-))
If UCase(rDate.Offset(0, 4).Text) = "FREE" Then .BusyStatus = olFree    'Status  _
_
_
_
auf frei setzen
.AllDayEvent = CBool(rDate.Offset(0, 3).Text)                           'Ganztä  _
_
_
_
gig
Set oRP = .GetRecurrencePattern                                         ' _
Serientermin einrichten
oRP.RecurrenceType = olRecursYearly                                 'jä _
hrlich
oRP.PatternStartDate = .Start                                       'ab dem  _
_
_
_
ersten Termin
oRP.NoEndDate = True                                                'ohne    _
_
_
_
Ende
oTmpAI.Save                                                             'Termin  _
_
_
_
speichern
End With
End If
Next rDate
Exit Sub
'Fehler - Exception Handling - falls es zu Problemen beim Import kommt
error_bday:
MsgBox "Fehler beim exportieren", vbCritical
End Sub


2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem in VBA nach Wechsel (Office 2010 zu 2013)
24.01.2017 19:06:23
ChrisL
Hi Fabian
Hast du die OnError-Anweisung raus genommen? Fehlermeldung?
Ich tippe (vage Vermutung) auf ein falsches Datumsformat, vielleicht weil unterschiedliche Sprach-/Ländereinstellungen.
cu
Chris
..probier mal so.....
24.01.2017 19:20:51
Helmut
.Start =VBA.CDate(Mid(rDate.Text, 1, 6) & Year(Now))
Gruß Helmut
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige