Microsoft Excel

Herbers Excel/VBA-Archiv

ControlPopup prüfen ob 2 mal vorhanden | Herbers Excel-Forum


Betrifft: ControlPopup prüfen ob 2 mal vorhanden von: marco
Geschrieben am: 28.01.2010 16:15:55

Hallo Kollegen,

Habe momentan ein problem mit der abfrage ob das popup vorhanden ist. Obwohl in der Menueleiste das Popup mit dem Namen "PT-Tool" vorhanden ist.

Popup wird ertellt.


Public Sub prcCreateButton()
         Dim myCommandBar As CommandBar
         Dim myCommandBarPopup As CommandBarControl
         Dim Mb As CommandBarControl
         Call prcDeleteButton(True)
         Set myCommandBar = Application.CommandBars(COMMANDBAR_NAME)
         Set myCommandBarPopup = myCommandBar.Controls.Add(Type:=msoControlPopup, _
         Before:=myCommandBar.Controls.Count + 1, Temporary:=True)
         myCommandBarPopup.Caption = "PT-Tool"

tut was.

End Sub

abfrage ob vorhanden. Gibt den wert Nothing wieder obwohl in Commandbar "PT-Tool" vorhanden?

Public Sub prcDeleteButton(Optional ByVal bolDelete As Boolean = False, _
         Optional ByVal bolHide As Boolean = True)
         Dim myCommandBar As CommandBarControl
         Set myCommandBar = CommandBars.FindControl(Tag:="PT-Tool")
         If Not myCommandBar Is Nothing Then
                 With myCommandBar
                 If bolDelete Then .Delete Else .Visible = bolHide
                 End With
                 Set myCommandBar = Nothing
         End If
End Sub

Wer kann helfen

Gruß
Marco

  

Betrifft: AW: ControlPopup prüfen ob 2 mal vorhanden von: Luschi
Geschrieben am: 28.01.2010 17:44:30

Hallo Marco,

ich mach das immer so:

Public Sub prcDeleteButton(Optional ByVal bolDelete As Boolean = False, _
    Optional ByVal bolHide As Boolean = True)
    Dim myCommandBar As CommandBarControl
    Dim captionText As String
    
    captionText = ""
    'alle selbst erstellten PopUp-Menüs durchsuchen
    Set myCommandBar = CommandBars.FindControl(Type:=msoControlPopup, ID:=1)
    Do While Not myCommandBar Is Nothing
       'Beschriftung des gefundenen Menüs prüfen
       If myCommandBar.Caption = "PT-Tool" Then
          'Beschriftung speichern und Schleife verlassen
          captionText = myCommandBar.Caption
          Exit Do
       Else
          'neue Suche
          Set myCommandBar = CommandBars.FindControl(Type:=msoControlPopup, ID:=1)
       End If
    Loop
    
    If "" <> captionText Then
       'wenn Beschriftung gespeichert wurde --> PopUp-Menü gefunden und löschen
       With myCommandBar
          If bolDelete Then
             .Delete
          Else
             .Visible = bolHide
          End If
       End With
       Set myCommandBar = Nothing
    End If
End Sub
Gruß von Luschi
aus klein-Paris


  

Betrifft: AW: ControlPopup prüfen ob 2 mal vorhanden von: marco
Geschrieben am: 29.01.2010 09:31:25

Hallo Luschi

Danke für die Antwort. Funktionierte nicht .

Ich löse es so.:

Sub MenüLöschen()
With Application.CommandBars(1)
.Controls("PT-Tool").Delete
End With
End 
Sub 

 



Beiträge aus den Excel-Beispielen zum Thema "ControlPopup prüfen ob 2 mal vorhanden "