ich schaffs nicht..
07.10.2011 18:25:18
robert
Hi Karin,
1. muss ich dieses Makro starten, damit die Symb.Leiste
erzeugt wird.
2. habe ich nur den Schalter ganz links-"Tabellenanzeige in HTML"
und nicht drei, wie bei Dir.
Habe das Add-In von Deiner HP geladen......
Noch ein Tipp ?
Gruß
robert
Sub symbolleiste_erstellen()
'* 03.03.08 *
'* erstellt von Karin, http://beverly.excelhost.de*
'* beverly@excelhost.de *
Dim cbNeu As CommandBar ' Variable für die Symbolleiste als Objekt
Dim cbcNeu As CommandBarButton ' Variable für den Schalter als Objekt
Dim inControls As Integer ' Variable für den Symbolleistenindex
Dim boAction As Boolean ' Variable für Zustandsprüfung
Dim inTop As Integer ' Variable für Symbolleistenposition
Dim strSymbolleiste As String ' Variable für den Symbolleistennamen
' Bildschirmaktualisierung aus
Application.ScreenUpdating = False
' Schleife über alle Symbolleisten
For Each cbNeu In CommandBars
' Name der Symbolleiste entspricht dem vorgegebenen Namen
If cbNeu.Name = "Benutzerdefinierte AddIns" Then
' Index der Symbolleiste auf die Variable schreiben
inControls = cbNeu.Index
' Schleife verlassen
Exit For
End If
' die Symbolleiste eingeblendet und oben positioniert
If cbNeu.Visible And cbNeu.Position = msoBarTop Then
' Oberkante der Symbolleiste liegt unterhalb der bereits geprüften Symbolleisten
If cbNeu.Top > inTop Then
' Name der Symbolleiste auf die Variable schreiben
strSymbolleiste = cbNeu.Name
' Position der Symbolleiste auf die Variable schreiben
inTop = cbNeu.Top
End If
End If
Next cbNeu
' Variable ist nicht leer und somit die Symbolleiste bereits vorhanden
If inControls 0 Then
On Error Resume Next
' die Symbolleiste als Objekt auf die Variable schreiben
Set cbNeu = Application.CommandBars.Add(Name:="Benutzerdefinierte AddIns", _
temporary:=True, Position:=msoBarTop)
' Symbolleiste vor der letzten sichtbaren Symbolleiste oben positionieren
cbNeu.RowIndex = Application.CommandBars(strSymbolleiste).RowIndex
' Set cbNeu = Application.CommandBars.Add("Benutzerdefinierte AddIns", temporary:=True)
On Error GoTo 0
' falls ausgeblendet, dann einblenden
If cbNeu.Visible = False Then cbNeu.Visible = True
' die Symbolleiste enthält mindestens einen Schalter
If cbNeu.Controls.Count > 0 Then
' Schleife über alle Schalter der Symbolleiste
For inControls = 1 To cbNeu.Controls.Count
' der benannte Schalter ist vorhanden
If cbNeu.Controls(inControls).Caption = "Tabellenanzeige HTML" Then
' Zustandsvariable auf WAHR setzen
boAction = True
' Schleife verlassen
Exit For
End If
Next inControls
End If
' der benannte Schalter ist noch nicht vorhanden
If boAction = False Then
' das in Tabelle1 vorhandene Clipart kopieren
ThisWorkbook.Worksheets("Tabelle1").Pictures(1).Copy
' einen neuen Schalter erstellen
With cbNeu.Controls.Add
' für Excelversion von 2002
If Val(Application.Version) 10 Then
' Icon einfügen
.FaceId = 216
Else
' kopiertes Clipart als Schalter-Icon einfügen
.PasteFace
End If
' Aktion, die bei Drücken des Schalters ausgefüht wird
.OnAction = "table2www"
' Schalter ist aktiviert
' Anzeigetext
.Enabled = True
.TooltipText = "Tabellenanzeige in HTML"
End With
End If
Application.ScreenUpdating = True
End Sub