Web Analytics Office Icon Gallery - Blog di Laura Ciccarese

Blog di Laura Ciccarese

Office: un mondo da scoprire! Approfondimenti, Automation, VBA e altro ancora...

Office Icon Gallery

 

Supponiamo che siate degli accaniti utilizzatori di icone: create comandi personalizzati a "go-go" e, di conseguenza, volete assegnare delle icone adeguate.

Che fate?

Avete due possibilità:

  1. utilizzate l'elenco dei controlli che vi ho indicato nel post Elenco dei controlli del ribbon, cercate l'IdMso corrispondente al comando di Office la cui icona vi sembra adeguata, lo utilizzate incrociando le dita!!! (e si, perchè come già si è capito, non tutti i comandi dispongono di un'icona, anche se dispongono di un controlID!!!!
  2. al 2° o 3° tentativo, volete prendere Office e buttarlo nel cestino (di Windows, si intende!), oppure volete linciare me che vi ho indicato questa strada (e questo già è peggio, almeno per me). Allora utilizzate il metodo descritto nel post Ribbon: creare comandi personalizzati utilizzando icone di comandi esistenti consistente nella visualizzazione del comando nella finestra Personalizza e della lettura del relativo nome. E' vero, dovete appuntarvi il nome del controllo ma almeno siete sicuri che l'icona ci sia!!!!

Diciamo, però, che nonostante questi due sistemi possano essere accettabili, sarebbe molto meglio poter visualizzare le icone disponibili in un'unica finestra, e magari non solo le icone dei comandi di Excel, ma tutte quelle di office, a prescindere dal comando cui sono associate perchè, dopotutto, a voi importa poco del comando,  A VOI SERVE SOLO L'ICONA!!!! Super Angry

E qui interviene la Icon Gallery che, non per niente, è il titolo di questo post!

Scaricate l'AddIn dal sito di MSDN

http://www.microsoft.com/downloads/details.aspx?familyid=12b99325-93e8-4ed4-8385-74d0f7661318&displaylang=en

e installatelo: durante la procedura vi si chiederà una posizione per il file che contiene le galleries: indicategliene una comoda.

Successivamente, aprite il file Office2007IconsGallery.xlsm che è stato inserito nella suddetta cartella, e apritelo:come per incanto, nella scheda Sviluppo vedrete apparire ben 9 Galleries contenenti decine e decine di icone!!!!!

(Se la scheda Sviluppo non è visualizzata (e non lo è per default!!), spuntate il flag sulla voce "Mostra barra sviluppo sulla scheda multifunzione"  nella finestra Office > Opzioni > Impostazioni Generali).

GUARDATE E STUPITE!!!!!

ImageGallery01

Aprite una gallery

ImageGallery02

ImageGallery03

Fate click su quella che vi piace e vi apparirà una finestra con l'idMso: prendetene nota e utilizzatelo.

ImageGallery04

Ma qualche utente esigente potrebbe dire: "perchè devo prenderne nota, non potremmo, invece, fare in modo che l'idMso venga salvato negli appunti, così da poterlo utilizzare dove mi pare?"

Possiamo dargli torto?

Sicuramente no!!

Allora ho provveduto ad apportare una piccola modifica al codice del progetto VBA del file excel e, per la precisione, nel modulo RibbonX, che riporta le seguenti righe:

Originale

Sub OnAction(control As IRibbonControl, id As String, index As Integer)
If (control.Tag = "large") Then
id = Strings.Mid(id, 3)
End If
Dim form As New ControlInfoForm
form.nameX.Caption = "imageMso: " & id
Set form.Image1.Picture = Application.CommandBars.GetImageMso(id, 16, 16)
Set form.Image2.Picture = Application.CommandBars.GetImageMso(id, 32, 32) form.Show
End Sub

Aggiungendo le righe in rosso:

Modificato

Sub OnAction(control As IRibbonControl, id As String, index As Integer)
If (control.Tag = "large") Then
id = Strings.Mid(id, 3)
End If
Dim form As New ControlInfoForm
form.nameX.Caption = "imageMso: " & id
Set form.Image1.Picture = Application.CommandBars.GetImageMso(id, 16, 16)
Set form.Image2.Picture = Application.CommandBars.GetImageMso(id, 32, 32)

'codice per memorizzare l'id negli appunti di Office
Dim doId As DataObject
Set doId = New DataObject
doId.SetText id
doId.PutInClipboard

form.Show
End Sub

Se adesso provate a scegliere un'icona e, successivamente, aprite un nuovo file di excel o di word o di quello che volete voi, e incollate: ecco apparire l'agognato IdMso:

ImageGallery07

Direi che per ora può andare, no???

(Lo so, mi diverto con poco! Big Smile)

Alla prossima

 

Ciao

Laura

Comments

kjm87 said:

# January 17, 2007 4:31 AM

laura said:

Hi kjm87, I'm happy it was useful and if you have some other question, post it!

By

# January 18, 2007 9:37 AM

Blog di Laura Ciccarese said:

Come promesso, ecco tutto il materiale relativo alla sessione di Office che ho tenuto a Bari il 23 Marzo:la

# March 27, 2007 6:33 PM

Blog di Laura Ciccarese said:

Come promesso, ecco tutto il materiale relativo alla sessione di Office che ho tenuto a Bari il 23 Marzo:la

# March 27, 2007 6:45 PM

kay said:

mille grazie per il suo articolo :-)

is there any way as to how we can extract the icons from Office 2007?

The design guidelines mention something along the lines of using them in web applications, but I cant see that happening without having access to the image files.

again, thanks for the insight.

(I tried to comment in Italian, but you'd have perceived that as an insult, that's why I choose to go with English)

# April 6, 2007 1:41 PM

laura said:

Can you tell me the link for the guidelines you refer to?

Thanks

# April 12, 2007 9:35 AM

kay said:

Certainly,

that would be: http://preview.tinyurl.com/25c88h

If the above link doesnt work, look for "2007OfficeUIDesignGuidelinesLicense.pdf" on your favourite search engine.

Page 63 clearly shows a web application and the guidelines on the official page also state that RibbonX is available to not only Windows users but anyone who adheres to the guidelines.

# April 12, 2007 10:36 AM

laura said:

Hey Kay,

I'm sorry, but I think that the only solution to your problem is to take a shot of Office icon and save them as file .ico.

After this, you can use them as I show in my post

http://www.dotnetside.org/blogs/laura/archive/2007/01/12/Assegnare-immagini-personalizzate-ad-un-comando-del-Ribbon.aspx

Thanks for your comment

Laura

# April 19, 2007 9:21 PM

kay said:

Laura,

thanks for your help.

I've already extracted all the icons I needed and built an Office 2007'ish editing interface for the wiki I'm using.

Since it's for personal use only (but still adheres to the design guidelines outlined in the PDF), I'm guessing that there wont be any problems.

# April 20, 2007 10:40 PM