Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
744to748
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
744to748
744to748
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Benutzerdefinierte Symbolleiste

Benutzerdefinierte Symbolleiste
20.03.2006 14:30:49
T.
Liebe Excel-Gemeinde,
ich habe mit Ihrer Hilfe eine Symbolleiste an eine Excel-Datei "anfügen" können, sodass diese mit der Datei aufgerufen wird. Hinter die dort aufgeführten Symbole habe ich Makros gelegt, die ich zuvor aufgezeichnet hatte. Das funktioniert soweit wunderbar. Es gibt jedoch einen Hemmschuh:
Wenn ich den Ablageort der Excel-Datei verändere, erhalte ich beim Aufrufen des Makros über die Symbolleiste eine Fehlermeldung mit Angabe des ursprünglichen Dateipfades und dass dort das Makro nicht gefunden werden kann. Ich muss es also wieder neu zuweisen. Gebe ich die Datei an einen anderen Nutzer weiter, erscheinen die Fehlermeldungen ebenfalls, da dessen Ablageort der Datei sich ebenfalls vom ursprünglichen unterscheidet. Habt Ihr hier einen Rat?
Herzlichen Dank und schöne Grüße
Thomas

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Benutzerdefinierte Symbolleiste
20.03.2006 14:35:28
Horst
Hi,
Symbolleiste per VBA erstellen oder zumindest die OnAction- Eigenschaft per VBA festlegen. Du musst die Leiste ja ohnehin beim Deaktivieren der Mappe löschen, weil sie
vermutlich in anderen Mappen keinen sinnvollen Zweck erfüllt.
mfg Horst
Benutzerdefinierte Symbolleiste - OnAction?
20.03.2006 15:57:44
T.
Lieber Horst,
herzlichen Dank für den Hinweis. Du hast recht. Ich habe bislang nicht bemerkt, dass die Symbolleiste ja nun in allen Dateien zur Verfügung steht. Hinsichtlich der OnAction-Eigenschaft per VBA bin ich leider noch nicht so weit, dass ich dies alleine auf die Beine stellen könnte. Ich würde es jedoch gern erlernen. Könntest Du mir vielleicht beschreiben, wie der Code aussehen muss oder was ich da genau einstellen soll? Wenn ich Dich richtig verstanden habe, würde also mit Aufruf der Datei die Symbolleiste angezeigt und mit Schließen der Datei verschwindet sie? Kommt da etwas in "ThisWorkbook"?
Herzlichen Dank im Voraus
Thomas
Anzeige
AW: Benutzerdefinierte Symbolleiste - OnAction?
20.03.2006 16:16:21
Horst
Hi,
im Beispiel ist die Symbolleiste per Hand erstellt und an die Mappe angefügt.
Beim Aktivieren der Mappe werden die Makros zugewiesen, beim Deaktivieren wird
sie ausgeblendet.
https://www.herber.de/bbs/user/32050.xls
mfg Horst
AW: Benutzerdefinierte Symbolleiste - OnAction?
21.03.2006 11:31:31
T.
Hi Horst,
herzlichen Dank. Ich habe den Code aus dem Beispiel genommen und ein wenig angepasst. Das Deaktivieren der Symbolleiste hat sofort funktioniert. Beim Einblenden hat sich jedoch erst nichts getan. Bis ich dann in Abwandlung des Schließenbefehls die "Application.CommandBars(CBNAME).Enabled"-Zeile auch in die Öffnen-Funktion aufgenomman und auf True gesetzt habe. Nachfolgend der "verunglimpfte" Code (ohne die Msgboxes):
Option Explicit
Const CBNAME As String = "Administration"
Dim cb As CommandBar
Dim cbc As CommandBarControl

Sub OnAction_zuweisen()
Set cb = CommandBars(CBNAME)
With cb
.Controls(1).OnAction = "Dateneingabe"
.Controls(2).OnAction = "Blattschutz_aufheben_Gitternetzlinien_Registerkarten_einblenden"
.Position = msoBarTop
.Left = 0
End With
Application.CommandBars(CBNAME).Enabled = True
End Sub


Sub beim_Schließen_löschen()
Application.CommandBars(CBNAME).Enabled = False
End Sub

Gibt es noch irgendeinen eklatanten Fehler, der Euch hier sofort ins Auge sticht und den ich vielleicht noch ausmerzen sollte? Momentan funktioniert die Tabelle bei mir ganz gut. Ich muss mir aber noch einen Probanden suchen. ;-)
Herzlichen Dank noch einmal für die Hilfe und schöne Grüße
Thomas
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige