Ich habe diesen Code, um eine temporäre Befehlsleiste in Word (2010) zu erstellen. Das gleiche Ergebnis in Excel. Es schafft die Bar. Ich weiß, weil ich darauf zugreifen, seine Eigenschaften lesen und löschen kann. Aber ich kann es nicht sichtbar machen. Es sollte irgendwo in der Nähe der Spitze meiner Seite schweben, aber es tut es nicht. Irgendwelche Ideen?Kann CommandBar nicht sichtbar machen
Sub AddCommandbar()
Const CmdName As String = "Test Bar"
Dim MyBar As CommandBar
Dim MyCtl As CommandBarControl
Dim MyList() As String
Dim Cmd As CommandBar
Dim i As Integer
' delete the existing
For Each Cmd In CommandBars
If Cmd.Name = CmdName Then
Cmd.Delete
Debug.Print CmdName; " deleted"
Exit For
End If
Next Cmd
Exit Sub
Set MyBar = CommandBars.Add(Name:=CmdName, _
Position:=msoBarFloating, _
MenuBar:=True, _
Temporary:=True)
Set MyCtl = CommandBars(CmdName).Controls.Add(_
Type:=msoControlDropdown, _
Before:=1)
MyList = Split("One,Two,Three", ",")
With MyCtl
.Caption = "Select a number"
.Style = msoComboLabel
.BeginGroup = True
For i = 0 To UBound(MyList)
.AddItem MyList(i)
Next i
.ListIndex = 1
End With
CommandBars(CmdName).Visible = True
End Sub
Als Seite Frage wird MenuBar:=True
die bestehende mit dem zusätzlichen ersetzen soll. Es tut es nicht. Mehrere Instanzen der Leiste werden erstellt. Sie können abgerufen und gelöscht werden, bis alle verschwunden sind.
Ich gehe davon aus, dass der "Exit Sub" in der Mitte des Codes gerade da war, während Sie Dinge testeten, und nicht da ist, wenn Sie diesen Code wirklich verwenden. Richtig? – YowE3K
Es ist nicht auf der Registerkarte Add-Ins sichtbar? Angenommen, Office 2007+ –
So scheint es, dass die Positionen von Top, Bottom und Floating fügen Sie es auf der Registerkarte Add-Ins. Links und Rechts arbeiten, aber ich kann es überhaupt nicht finden. Und MenuBar und PopUp geben einen Fehler "Laufzeitfehler 5: Ungültiger Prozeduraufruf oder Argument" Fehler. – YowE3K