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, 8400 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 ..
Ähnliche Inhalte
Windows Installation
Libreoffice nach installation keine menüleiste (6)

Frage von oskarmader zum Thema Windows Installation ...

Outlook & Mail
Outlook Indizierung funktioniert nicht (4)

Frage von gamerff zum Thema Outlook & Mail ...

Outlook & Mail
gelöst Outlook vba Email Anhang in Ordner speichern (3)

Frage von Daywalkercxp zum Thema Outlook & Mail ...

VB for Applications
Vba Outlook Betreff Datum - Absender - Empfänger (7)

Frage von Romy0907 zum Thema VB for Applications ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Internet
gelöst Jeden morgen Internet-Probleme (58)

Frage von pjrtvly zum Thema Internet ...

DSL, VDSL
VDSL Signal via PowerLine an Fritzbox - Möglich? (19)

Frage von Seichobob zum Thema DSL, VDSL ...

Windows Server
Benutzer sperrt sich immer wieder im Active Directory Contoller (16)

Frage von Kirdy1301 zum Thema Windows Server ...