Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Outlook-Menüleiste per VBA funktioniert nicht

Frage Entwicklung VB for Applications

Mitglied: Mark-O

Mark-O (Level 1) - Jetzt verbinden

03.03.2008, aktualisiert 02.06.2008, 8290 Aufrufe, 1 Kommentar

Hallo,

ich würde mir gerne eine eigene Menüleiste mit Combo-Box in Outlook 2003 programmieren, dazu gibt es auch eine Hilfeseite bei Microsoft:

http://www.microsoft.com/germany/msdn/library/office/MehrZumThemaProgra ...

Wenn ich nachstehendes Script (minimale Veränderungen aus der MS-Seite) ausführe, da bleibt es mir an dieser Zeile mit Laufzeitfehler 438 (Objekt unterstützt diese Eigenschaft oder Methode nicht) hängen. Und das bei OL2003 und OL2000:

' Die nächste Codezeile ersetzen durch:
Set objCommandBarComboBox = _
Application.CommandBars.Item(strCommandBarName).Controls.Add(msoControlComboBox)
'<- Für Outlook ÄNDERUNG: HIER AKTIVIERT


An was könnte das liegen?
Danke für jede Hilfe
Mark

Public Function AddComboBoxToCommandBar(ByVal strCommandBarName As String, _
ByVal strComboBoxCaption As String, _
ByRef strChoices() As String) As Boolean
' Zweck: Fügt einer Befehlsleiste ein Kombinationsfeld hinzu.
' Akzeptiert:
' strCommandBarName: Der Name der Befehlsleiste zum Hinzufügen des Kombinationsfeldes.
' strChoices(): Ein Optionsarray für das Kombinationsfeld.
' Rückgabe: TRUE, wenn das Kombinationsfeld erfolgreich der Befehlsleiste hinzugefügt wurde.
Dim objCommandBarControl As Office.CommandBarControl
Dim objCommandBarComboBox As Office.CommandBarComboBox
Dim varChoice As Variant
'On Error GoTo AddComboBoxToCommandBar_Err ÄNDERUNG: ALS KOMMENTAR, DAMIT FEHLERMELDUNG ERSCHEINT
' Alle zuvor hinzugefügten Instanzen dieses Kombinationsfeldes löschen.
' Die nächste Codezeile ersetzen durch:
For Each objCommandBarControl In _
Application.ActiveExplorer.CommandBars.Item(strCommandBarName).Controls
'<- Für Outlook ÄNDERUNG: HIER AKTIVIERT
' For Each objCommandBarControl In _
' Application.VBE.CommandBars.Item(strCommandBarName).Controls _
<- Für Visual Basic-Editor
'For Each objCommandBarControl In Application.CommandBars.Item(strCommandBarName).Controls
If objCommandBarControl.Caption = strComboBoxCaption Then
objCommandBarControl.Delete
End If
Next objCommandBarControl
' Das Kombinationsfeld erstellen.


' Die nächste Codezeile ersetzen durch:
Set objCommandBarComboBox = _
Application.CommandBars.Item(strCommandBarName).Controls.Add(msoControlComboBox)
'<- Für Outlook ÄNDERUNG: HIER AKTIVIERT


' Set objCommandBarComboBox = _
' Application.CommandBars.Item(strCommandBarName).Controls.Add(msoControlComboBox) _
<- Für Visual Basic-Editor
'Set objCommandBarComboBox = _
Application.CommandBars.Item(strCommandBarName).Controls.Add(msoControlComboBox)
objCommandBarComboBox.Caption = strComboBoxCaption
For Each varChoice In strChoices
objCommandBarComboBox.AddItem varChoice
Next varChoice
AddComboBoxToCommandBar_End:
AddComboBoxToCommandBar = True
Exit Function
AddComboBoxToCommandBar_Err:
AddComboBoxToCommandBar = False
End Function


Public Sub TestAddComboBoxToCommandBar()
' Zweck: Testet die AddComboBoxToCommandBar-Funktion.
Dim strChoices(4) As String
strChoices(1) = "Vanilla"
strChoices(2) = "Chocolate"
strChoices(3) = "Strawberry"
strChoices(4) = "Other"
If AddComboBoxToCommandBar("Tools", "Favorite Ice Cream", _
strChoices) = True Then
MsgBox "Das Kombinationsfeld wurde erfolgreich hinzugefügt."
Else
MsgBox "Das Kombinationsfeld konnte nicht hinzugefügt werden."
End If
End Sub
Mitglied: Mark-O
02.06.2008 um 13:35 Uhr
Bin das Thema nach Wochen nochmals angegangen. Hier die unausgearbeitete Lösung für Outlook 2003.

Gruß
Mark

Private Sub Application_Startup()
Dim customBar As CommandBar
Dim icon As CommandBarButton
Dim ctlCBarCombo As CommandBarComboBox
Dim ctlCBarCEdit As CommandBarControl



On Error Resume Next
Application.ActiveExplorer.CommandBars("Custom").Delete
Err.Clear

Set customBar = Application.ActiveExplorer.CommandBars.Add("Custom", msoBarTop, temporary:=True)

Set ctlCBarCombo = customBar.Controls.Add(Type:=msoControlComboBox, temporary:=True)
With ctlCBarCombo
.AddItem "Red"
.AddItem "Green"
.AddItem "Blue"
.ListIndex = 1
.Caption = "Combo Box"
'.Clear
'.RemoveItem
'.DropDownLines = 3 'Anzahl Zeilen von Combobox
'.Width = 330 'Breite der ComboBox, evtl. anpassen
'.DropDownWidth = 330 'Breite der Anzeige, evtl. anpassen
'.ListCount 'gibt die Anzahl der Einträge wieder
.OnAction = "Project1.ThisOutlookSession.Combo"

End With




Set ctlCBarCEdit = customBar.Controls.Add(Type:=msoControlEdit, temporary:=True)
With ctlCBarCEdit

.Caption = "ControlEdit"
.Text = "Red"
.Style = msoComboLabel
.TooltipText = "Test Edit box"
.OnAction = "Project1.ThisOutlookSession.die_EditBox"

End With




Set icon = customBar.Controls.Add(Type:=msoControlButton, temporary:=True)
icon.Caption = "Button" '<-- mit Icon.ID´s hat Outlook Probleme - sind leer
icon.TooltipText = "Neues Icon"
icon.OnAction = "Project1.ThisOutlookSession.Meldung"



customBar.Visible = True

End Sub
Private Sub Application_Quit()

On Error Resume Next
Application.ActiveExplorer.CommandBars("Custom").Delete

End Sub

Sub Meldung()
Dim icon As CommandBarButton
Dim A As String
A = Application.ActiveExplorer.CommandBars("Custom").Controls("Button").Caption
MsgBox "ControlButton heißt " & A
End Sub
Sub Combo()
Dim ctlCBarCombo As CommandBarComboBox
Dim A As String
A = Application.ActiveExplorer.CommandBars("Custom").Controls("Combo Box").Text
MsgBox A & " steht da."
End Sub
Sub die_EditBox()
Dim ctlCBarCEdit As CommandBarControl
Dim A As String
A = Application.ActiveExplorer.CommandBars("Custom").Controls("ControlEdit").Text
MsgBox A & " steht in der EditBox."
End Sub
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Outlook & Mail
gelöst Outlook Kalender freigeben funktioniert nicht (1)

Frage von Zippo97 zum Thema Outlook & Mail ...

Outlook & Mail
gelöst Outlook Suche (Indizierung) funktioniert nicht (4)

Frage von seppmairhubr zum Thema Outlook & Mail ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Microsoft
Ordner mit LW-Buchstaben versehen und benennen (19)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...