Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
480to484
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
480to484
480to484
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Add-In

Add-In
13.09.2004 09:04:32
tobias
Hallo
ich hab folgende Prozedur zum erstellen eines Menüs in der Symbolleiste.
In Office XP läuft das auch ganz prima aber in Office 2000 löscht er nicht das alte Menü beim öffnen von Excel. Das heist also, bei jedem neuen öffnen hab ich die Einträge einmal mehr in meinem Menü.
Hat damit jemand Erfahrung?
Ich bin für jeden Tipp dankbar.

Private Sub Workbook_Open()
Dim Bar As CommandBar, Menue As CommandBarPopup
Dim Button As CommandBarButton, wka As Workbook
Static StoppAdd As Integer
Set Bar = Application.CommandBars("Worksheet Menu Bar")
On Error Resume Next
Application.EnableEvents = False
Application.ScreenUpdating = False
Set wka = Workbooks("Datenkonsolidierung-Assistent.xla")
If Err <> 0 Then
Bar.Controls("Tools").Delete
On Error GoTo 0
Set Menue = Bar.Controls.Add(msoControlPopup, Before:=Bar.Controls.Count + 1)
Menue.Caption = "Tools"
Set Button = Menue.Controls.Add
With Button
.Caption = "Info"
.OnAction = "Info"
.Style = msoButtonIconAndCaption
.FaceId = 487
End With
Set Button = Menue.Controls.Add
With Button
.Caption = "Word Tabelle importieren"
.OnAction = "Importerladen"
.Style = msoButtonIconAndCaption
End With
Else
Set Menue = Bar.Controls("Tools")
Set Button = Menue.Controls.Add
With Button
.Caption = "Word Tabelle importieren"
.OnAction = "Importerladen"
.Style = msoButtonIconAndCaption
End With
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
StoppAdd = StoppAdd + 1
If StoppAdd > 1 Then Exit Sub
AddInInstall
End Sub

mfg tobias

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Add-In
13.09.2004 12:31:04
Axel
Hallo,
also der Code sieht einwandfrei aus, auch für Excel 2000.
Das Tools-Menü wird ja nur dann gelöscht und neu erstellt, wenn die Anweisung
Set wka = Workbooks("Datenkonsolidierung-Assistent.xla")
fehlschlägt.
Ist das AddIn bereits geladen, kommt der Else-Zweig zum Tragen und es wird nur noch ein Eintrag ins Tools-Menü vorgenommen.
Ich gehe mal davon aus, dass du auf dem Rechner mit Excel 2000 dieses AddIn bereits geladen hast, auf dem Excel XP-Rechner aber nicht.
Gruß
Axel
AW: Add-In
tobias
Hallo
Danke für deine Antwort.
Sie sind bei beiden Rechnern schon Installiert.
Wenn ich z.B. das Add-In Excel-Hilfe von Herbers Excel-CD gestartet habe ist es beim nächsten öffnen von Excel-2000 immernoch in der Symbolleiste aber nicht im Add-In Manager.
Ich glaube da muss irgendwas in Excel-2000 eingestellt werden!?
mfg Tobias
Anzeige
AW: Add-In
13.09.2004 16:09:26
Axel
Hallo,
nach einem Absturz kann es schon einmal vorkommen, dass benutzerdefinierte Einträge in den Menüs oder Symbolleisten stehen bleiben.
Starte Excel 2000 jungfräulich, also ohne AddIns und lösche dann einfach die verwaisten Einträge über "Ansicht | Symbolleisten | Anpassen".
Symbolleisten werden über den Reiter "Symbolleisten", Auswahl der Leiste und dann über den Button "Löschen" entfernt.
Menüeintrage ziehst du im Anpassen-Dialog einfach in Richtung Tabellenblatt und lässt die Maus dann los. Der Eintrag wird dann gelöscht.
Gruß
Axel
AW: Add-In
tobias
Hallo Axel
Danke für die Antwort.
werde es nochmal ausprobieren...
mfg Tobias
Anzeige
AW: Add-In lösung
tobias
Hallo
für alle die es interessiert. So gehts auch unter Office 2000:

Private Sub Workbook_Open()
Dim Bar As CommandBar, Menue As CommandBarPopup
Dim Button As CommandBarButton
Static StoppAdd As Integer
Set Bar = Application.CommandBars("Worksheet Menu Bar")
On Error Resume Next
Application.EnableEvents = False
Application.ScreenUpdating = False
Set Menue = Bar.Controls("Tools")
If Err <> 0 Then
On Error GoTo 0
Set Menue = Bar.Controls.Add(msoControlPopup, Before:=Bar.Controls.Count + 1)
Menue.Caption = "Tools"
Set Button = Menue.Controls.Add
With Button
.Caption = "Info"
.OnAction = "Info"
.Style = msoButtonIconAndCaption
.FaceId = 487
End With
Set Button = Menue.Controls.Add
With Button
.Caption = "Word Tabelle importieren"
.OnAction = "Importerladen"
.Style = msoButtonIconAndCaption
End With
Else
Set Menue = Bar.Controls("Tools")
Set Button = Menue.Controls.Add
With Button
.Caption = "Word Tabelle importieren"
.OnAction = "Importerladen"
.Style = msoButtonIconAndCaption
End With
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
StoppAdd = StoppAdd + 1
If StoppAdd > 1 Then Exit Sub
AddInInstall
End Sub

mfg tobias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige