beidermachtvongreyscull
Goto Top

Outlook 2016 - Makro eigentlich fehlerfrei, aber startet nur direkt aus dem VBA-Editor

Moin Kollegen,

ich habe folgendes Makro gebaut:

Sub AddToFavorites()
 
 'Adds a Public Folder to the List of favorites  
 
 Dim objFolder As Outlook.Folder
 
 Set objFolder = Application.Session.GetDefaultFolder(olPublicFoldersAllPublicFolders).Folders.Item("Konferenzräume - Belegungspläne")  
 
 'objFolder.AddToPFFavorites  
 If objFolder.Folders.Count > 0 Then
    For Each objSubFolder In objFolder.Folders
        'objNavigationGroup.NavigationFolders.Add objSubFolder  
        objFolder.AddToPFFavorites
    Next
 End If
 MsgBox "Die Belegungspläne für die Besprechungsräume sollten nun unter ANDERE KALENDER in der Kalenderansicht zu sehen sein.", vbOKOnly, Hinweis  
End Sub

Kurz zur Erklärung:
Das Makro soll alle Unterordner vom Typ Kalender in Öffentliche Ordner - user@email.domäne --> alle öffentlichen Ordner --> Konferenzräume - Belegungspläne
in die Public Folder Favorites aufnehmen, so dass sie auf der NavPane in Outlook unter Kalender auch angezeigt werden.

Das Makro ist startfähig und wird in Outlook auch als solches angezeigt.

Das Problem:
Es startet aber nicht. Erst, wenn ich im VBA-Editor explizit das Modul öffne und starte, dann läuft es. Auch im Einzelschrittmodus funktioniert es.
Das Phänomen ist bei meinen Testnutzern übrigens gleich. Wenn es läuft, dann macht es seine Arbeit soweit richtig. Aber leider läuft es anscheinend nur, wenn
ich den beschriebenen Weg gehe.

Ich habe ein Code-Signing-Zertifikat, welches ich auch per Script in den TrustedPublisher_Store bei den Nutzern eingetragen habe.
Das funktioniert soweit auch, weil in der VbaProjects.otm weitere Makros sind, die sonst nicht funktionieren würden.

Hat jemand von Euch eine Idee, was da falsch läuft? Ich stehe auf dem Schlauch. Vielen Dank!

Content-Key: 515136

Url: https://administrator.de/contentid/515136

Printed on: April 19, 2024 at 12:04 o'clock

Member: emeriks
emeriks Nov 14, 2019 updated at 12:15:30 (UTC)
Goto Top
Hi,
Das Makro ist startfähig und wird in Outlook auch als solches angezeigt.
Was soll das bedeuten?

Das Makro muss doch erst durch ein Ereignis ausgelöst werden. Im Falle des Startens von Outlook wäre das Application.Startup.
Hast Du also eine solche Sub, von welcher aus Du dann Deine Makros starten lässt?

E.
Member: beidermachtvongreyscull
beidermachtvongreyscull Nov 14, 2019 updated at 12:26:58 (UTC)
Goto Top
Hi,

Das bedeutet, dass ich das Makro z.B. über die Leiste "Entwicklertools" --> "Makros" sehen, auswählen und vermeindlich ausführen kann.
Zumindest funktioniert das bei den anderen auch so.

Ich habe eine eigene Menüleiste in Outlook drin, in der die Schaltflächen drin sind, mit denen die Makros getriggert werden können.

Aber über das Outlook-Hauptfenster funktioniert nur das erwähnte Makro nicht. Das kann ich nur aus dem VBA-Editor starten und ich weiß nicht, warum.
Member: emeriks
emeriks Nov 14, 2019 updated at 12:42:12 (UTC)
Goto Top
Bist Du sicher, dass es gar nicht startet? Vielleicht läuft es ja nur in einen Fehler. Oder die If-Bedingung greift nicht. Sowas kann man debuggen. Setze einfach einen Haltepunkt auf Zeile 7. Und dann Schritt für Schritt.
Member: beidermachtvongreyscull
beidermachtvongreyscull Nov 14, 2019 at 12:53:48 (UTC)
Goto Top
Ich kann es gerne versuchen, aber Du siehst in Zeile 16 soll bedingungslos eine MsgBox ausgegeben werden, ganz gleich was davor geschehen ist.
Das nahm ich bisher als Indiz, dass das Makro über den regulären Weg nicht startet.

Der Schritt-für-Schritt-Durchlauf im VBA-Editor funktioniert.
Member: emeriks
emeriks Nov 14, 2019 updated at 12:54:57 (UTC)
Goto Top
Der Schritt-für-Schritt-Durchlauf im VBA-Editor funktioniert.
Interessant ist ja eher, wenn Du es über den Button startest. (Menü)
Member: beidermachtvongreyscull
beidermachtvongreyscull Nov 14, 2019 at 13:10:30 (UTC)
Goto Top
Zitat von @emeriks:

Interessant ist ja eher, wenn Du es über den Button startest. (Menü)

Ich verteile neben der VbaProject.OTM auch eine olkexplorer.officeUI, so dass meine Nutzer es da recht leicht haben.

Bei Word mache ich das ähnlich mit guten Ergebnissen. Ich verteile eine Normal.dotm mit allen Makros und eine Word.officeUI für das angepasste Menüband.

Ich habe im Code mal Modulnamen und Subroutinen-Namen geändert auf Belegungsplaene, einen neuen Button angelegt im Menü und den auf dieses Makro zeigen lassen. Dann hat es funktioniert.

Ich teste das jetzt nochmal. Vielleicht lag es tatsächlich am Namen der Sub.