Attribute VB_Name = "OL_Dubletten"
Option Explicit

'© 2004 c't, Ralf Nebelo

Public Const APPNAME As String = "Dubletten suchen"

'*****************************************************************
'Makros
'*****************************************************************

Public Sub OLDU_StartButtonAnlegen()
    Dim strCBName As String
    Dim objCB As CommandBar
    Dim objButton As CommandBarButton
    
    'Fehlerverfolgung ausschalten
    On Error Resume Next
    
    'Name der Befehlsleiste
    strCBName = "Makros"
    'Verweis auf Befehlsleiste holen
    Set objCB = ActiveExplorer.CommandBars(strCBName)
    'Wenn Befehlsleiste nicht existiert, dann...
    If objCB Is Nothing Then
        '... Befehlsleiste anlegen
        Set objCB = ActiveExplorer.CommandBars.Add(strCBName, msoBarTop)
    End If
    
    'Verweis auf Button holen
    Set objButton = objCB.FindControl(Tag:=APPNAME)
    'Wenn Button nicht existiert, dann...
    If objButton Is Nothing Then
        '... Button neu anlegen
        Set objButton = objCB.Controls.Add(Type:=msoControlButton)
        'Button konfigurieren
        With objButton
            'Tag-Wert zur Identifikation setzen
            .Tag = APPNAME
            'Nur Beschriftung
            .Style = msoButtonCaption
            'Gruppierung beginnen
            .BeginGroup = True
            'Beschriftung festlegen
            .Caption = APPNAME
            'Tooltip-Text festlegen
            .TooltipText = "Doppelte Elemente suchen"
            'Mit Makro verknüpfen
            .OnAction = "OLDU_DublettenSuchen"
        End With
    End If
    
    'Befehlsleiste sichtbar machen
    objCB.Visible = True
End Sub

Public Sub OLDU_DublettenSuchen()
    'Userform frmDubletten aufrufen
    frmDubletten.Show
End Sub

