Sulle barre degli strumenti

Storico discussioni

ControlPopup di Roberto
URGENTE
Ho creato una barra dei comandi personalizzata e l'ho posizionata sulla sinistra dello schermo e un controllo è del tipo ControlPopup ma il label del controllo si visualizza in verticale. Come posso farlo visualizzare in orizzontale?
Grazie
Roberto

di apoben64
Ciao Roberto, volevo sapere se per il tuo precedente post era tutto OK ?

di apoben64
E se sì come ? .Grazie per la gentile risposta .

di Roberto
per quanto riguarda la possibile immagine icona di pulsante personalizzata, non sono andato avanti per altre priorità ma ci dovrò ritornare sopra...

di Mauro
Cosa vuol dire che il label si visualizza verticale?
Intendi la voce di menù?

di Aponen64
Mi spiace , ma senza un esempio o specifica , viene difficile dare un aiuto!.

di Roberto
esatto, la voce di menu! Sulla barra posizionata sulla sinistra, la voce di menu che apre le opzioni di scelta del controlPopup è in verticale:
o
p
z
i
o
n
i
anzichè in orizzontale come è il caso quando sposto la barra in alto.
Questo è il codice:
Public Sub LogCommandBar()
Dim c As CommandBar
Set c = Application.CommandBars.Add("LogPlan GROUP", _
msoBarLeft, False, True)
c.Enabled = True
c.Visible = True
Dim cp As CommandBarPopup

Set cp = c.Controls.Add(msoControlPopup)
cp.Parameter = "Popup #1"
cp.Caption = "scegli i drivers"
cp.Height = 100

Set cb = cp.Controls.Add(msoControlButton, 1)
cb.Style = msoButtonIconAndWrapCaption
cb.Caption = ""
cb.OnAction = ""
cb.FaceId = 0
cb.Parameter = "Submenu #1"

Set cb = cp.Controls.Add(msoControlButton, 1)
cb.Style = msoButtonIconAndWrapCaption
cb.Caption = ""
cb.OnAction = ""
cb.FaceId = 0
cb.Parameter = "Submenu #2"
End sub

di Mauro
Le voci di menù quando la barra dei comandi viene ancorata lateralmente al foglio di lavoro, vengono ruotate di 90 gradi. Questo permette di ridurre al minimo l'ingombro e lasciare + spazio al foglio di lavoro.
Sinceramnete non so se esiste una proprietà ke blocca la rotazione delle voci di menù, per barre spostate lateralmente.
C'è un motivo particolare x cui hai scelto questa posizione? Perchè ad esempio non inserire una nuova voce nella barra dei menù?

di Roberto
Il motivo è puramente estetico/layout.
In realtà ho già optato per unserire il controllo nella barra dei menù.
Colgo l'occasione per fare un'altra domanda.
Vorrei eliminare ogni altro menu predefinito della barra dei menu quando si apre il mio documento e lasciare solo quelli da me definiti (x delineare meglio il workflow di lavoro), esiste un'istruzione migliore di questa che allego per farlo senza "dimenticare menu":

With Application.CommandBars("Worksheet Menu Bar")
.Controls(1).Visible = False
.Controls(2).Visible = False
.Controls(3).Visible = False
ecc.. End With
Ed anche per le barre dei comandi, come posso fare eliminare in apertura di documento tutte le barre predefinite di excel in quel momento attive. Io dò questa istruzione:
Application.CommandBars("Standard").Visible = False
Application.CommandBars("Formatting").Visible = False
però posso "perdermi" altre barre...
Grazie

di Mauro
Per nascondere controlli e barre puoi usare cicli For di questo tipo:
Sub prova()
For i = 1 To Application.CommandBars("Worksheet Menu Bar").Controls.Count
With Application.CommandBars("Worksheet Menu Bar")
If .Controls(i).Caption <> "......" Then
.Controls(i).Visible = False
End If
End With
Next
End Sub

Sub prova1()
For i = 1 To Application.CommandBars.Count
If CommandBars(i).Name <> "....." Then
CommandBars(i).Visible = False
End If
Next
End Sub

Per evitare di nascondere alcune barre o controlli ke ti interessano puoi testare Name o Caption o parti di esse con comandi: MID(), LEFT(), RIGHT().
Ricordati ke le barre degli strumenti non sono legate al foglio di lavoro attivo ma all'applicazione, quindi all'uscita ti conviene ripristinare barre e controlli!

di Roberto
Grazie,
ci provo e vedo i risultati.
Per ripristinare barre e menu potrei usare un codice tipo questo:
Sub MenuBar_Restore
CommandBars("Standard").Reset
End Sub


di Mauro
Esatto.

Cognolato Studio © 2005