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

fragen über selbstdefinierte Symbolleiste...

fragen über selbstdefinierte Symbolleiste...
24.06.2003 10:44:34
daahli
Habe eine Symbolleiste zum Teil programmiert und bin auf einige Schwierigkeiten gestoßen. Hab ein paar Fragen:

1) Ich möchte dass die Symbolleiste nur angezeigt wird wenn eine Bestimmte Tabelle angezeigt wird, ansonsten soll sie ausgeblendet werden.

2) In den Tabellen in denen sie angezeigt wird soll sie aber nicht löschbar sein und auch nicht verschiebar. Das habe ich durch :

.Protection = msoBarNoChangeVisible + msoBarNoResize + msoBarNoChangeDock + msoBarNoMove

geschafft aber mein Problem ist das ich nicht weiss wie ich die Symbolleiste bei der initialisierung positionieren kann. Ich möchte dass sie sich an einer bestimmten Stelle befindet und dort nicht mehr wegkommt (zur zeit wird sie automatisch in der Mitte des Bildschirmes initialisiert).

3) ich möchte dass der Name der Leiste gar nicht eingeblendet wird und dass das x (Schliessen) auch nicht zu sehen ist. Ist dies überhaupt möglich?

4) Könnte mir jemand bitte sagen ob es einen Unterschied zwischen Tooltiptext und caption gibt? Ich bemerke nämlich keinen.

Vielen Dank für die Mühe :)


8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: fragen über selbstdefinierte Symbolleiste...
24.06.2003 10:56:41
L.Vira

1. meinst du wirklich Tabelle oder eher Datei?

2. Löschen kannst du nicht wirklich verhindern, es sei denn du knipst alle Möglichkeiten aus, an den Anpassen- Dialog zu kommen.
Die Position legst du fest mit:
DeineCommandbar.Position = msoBarTop
3. Wenn die Position Top ist, hat sich das von selbst erledigt.
4. Tooltiptext und Caption sind gleich, solange Tooltiptext
nicht explizit geändert wird.
DeineCommandbar.Caption = "Hallo"
DeineCommandbar.tooltiptext = "Caption ist Hallo"

möchte selber postitionieren
24.06.2003 11:11:09
daahli

1) Ich meinte wirklich Tabelle ;)

2) msobartop löst das Problem nicht. Ich möchte sie an einer bestimmten von mir selbstdefinierten Stelle auf dem Bildschirm, aber nicht top. Ist das nicht möglich?

Danke :)

Anzeige
Re: möchte selber postitionieren
24.06.2003 11:21:57
L.Vira

Positionieren:
.Position =msoBarFloating
.Left = 100
.Top = 50

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name = "Deinname" Then
CommandBars("Deine").Visible = True
Else
CommandBars("Deine").Visible = False
End If
End Sub

Dann wird der Name aber wieder angezeigt, was sich auch nicht verhindern lässt.

Re: visible
24.06.2003 11:40:01
daahli

super das mit dem positionieren funkt perfekt! Danke!

Wo muss ich den code für das ein und ausblenden der Leiste einfügen. Sorry, bin wirklich ein Excel newbie

Danke vielmals

Re: visible
24.06.2003 11:48:20
L.Vira

Der Code muss in das Modul von "DieseArbeitsmappe".

Anzeige
funkt nicht
24.06.2003 12:11:21
daahli

hmm, habe jetzt den code in DieseArbeitsmappe kopiert aber ich bekomme einen Fehler:

Objektvariable oder With-Blockvariable nicht festgelegt

Die leiste wird durch ein modul erstellt. Sie ist unter symbolleisten als "Benutzerleiste" zu finden und aktivieren.

code:

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name = "Tabelle1" Then
CommandBars("Benutzerleiste").Visible = True
CommandBars("Benutzerleiste").Protection = msoBarNoChangeVisible + msoBarNoResize + msoBarNoChangeDock + msoBarNoMove
Else
CommandBars("Benutzerleiste").Visible = False
End If
End Sub

Leiste wird durch ein Modul generiert

Sub M_leiste()

Dim leiste As CommandBar, knopf1 As CommandBarButton, knopf2 As CommandBarButton
Dim knopf3 As CommandBarButton, knopf4 As CommandBarButton, knopf5 As CommandBarButton
Dim knopf6 As CommandBarButton

On Error Resume Next
Set leiste = CommandBars.Add("Benutzerleiste")
Set knopf2 = leiste.Controls.Add(msoControlButton)
...
...

Woran könnte das liegen?

nochmals danke



Anzeige
Re: funkt nicht
24.06.2003 12:22:31
L.Vira

Tschuldigung, war mein Fehler. In Klassenmodulen muss Application verwendet werden, in Standardmodulen ist das nicht nötig:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name = "Tabelle1" Then
Application.CommandBars("Benutzerleiste").Visible = True
Application.CommandBars("Benutzerleiste").Protection = msoBarNoChangeVisible + msoBarNoResize + msoBarNoChangeDock + msoBarNoMove
Else
Application.CommandBars("Benutzerleiste").Visible = False
End If
End Sub


Danke!!
24.06.2003 12:35:02
daahli

super, funkt perfekt!

vielen Dank,
Daniel

126 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige