Sulle barre degli strumenti
Hai un problema con Excel? 
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. |
|
|