10
votes

Comment sauver ImageMSO icon de Microsoft Office 2007?

J'ai trouvé beaucoup de belles icônes de Microsoft Office 2007. Avez-vous une idée d'extraire et d'enregistrer toutes les icônes sous forme de fichiers PNG à l'aide de VBA?

partielle ImageMSO http://rabu4g.bay.livefilestore.com/y1p2SF1q63YjDjPNmK4nYMW2644r9AO2aAsE__vBYznTeXD0b4SJUU0O07fxPD0r7aO_83gCJ-8OfcOQsFKG0fQMRnTEneBU1TI/Capture.PNG p>

Le code suivant est un code qui est utilisé pour obtenir une image de ImageMSO. P>

stdole.IPictureDisp p = Application.CommandBars.GetImageMso(fileName, size, size);
Bitmap b = Bitmap.FromHbitmap((IntPtr)p.Handle, (IntPtr)p.hPal);


2 commentaires

@Soul_master toute chance avec l'extraction?


Nan. J'abandonne juste à ce sujet.


4 Réponses :


0
votes

Tous les fichiers PNG peuvent être trouvés ici Ce sont déjà au format PNG. Bonne programmation! (Une belle archive zip est également disponible Ici ) L'archive ZIP contient toutes les 17 icônes Excel.

Lorsque vous utilisez la méthode getimagemso, vous vous retrouvez avec une interface Impicture à l'objet. L'interface Impicture accède à l'icône appropriée pour économiser à un fichier dans le format d'origine - un .ico, .wmf ou un .bmp Le format PNG n'est pas pris en charge. Les liens suivants expliquent pourquoi cela n'est pas directement possible:

http://msdn.microsoft.com/en-us/library /AA434604.aspx (MEGETIMAGEMSO MODE) http://msdn.microsoft.com/fr- US / Bibliothèque / MS680761% 28VS.85% 29.aspx (interface Impicture) http://msdn.microsoft.com/fr- US / Bibliothèque / MS694504% 28V.85% 29.aspx (Enregistrer en tant que méthode de fichier)

Cependant, l'utilisation d'une approche plus complexe donnera ce que vous voulez:

http : //blogs.msdn.com/mshneer/archive/2007/10/10/PRESERVING-TRANSPARENCE-Quand-Rending-office-icons.aspx


0 commentaires

4
votes

J'ai enveloppé une classe d'utilitaire C # pour extraire des icônes de galerie Office2007 aux fichiers .png, tout en maintenant leur transparence correctement. Le code principal est tiré d'un excellent article écrit par Andrew Whitechapel ( http : //blogs.msdn.com/b/andreww/archive/2007/10/10/presserving-Le-alpha-channel-quive-converting-images.aspx ). J'ai intégré cela avec la feuille d'icônes d'échantillon Office 2007, au cas où vous souhaitez extraire toutes ces icônes dans un dossier cible.

Étapes sont:

1) Télécharger la feuille de calcul de la galerie de bureau sur < Un href = "http://www.microsoft.com/download/fr/details.asaspx?displaylang=fr&id=11675" rel = "nofollow"> http://www.microsoft.com/download/fr/details. ASPX? DisplayLang = EN & ID = 11675

2) Appelez OfficeIconS.Extractallicones () Avec l'emplacement de la feuille de calcul Exemple Office2007iconsGallery.xlsm et le dossier cible où vous souhaitez que les icônes soient extraites.

{code} xxx

{code}


2 commentaires

Serait bien si vous avez spécifié les 500 dépendances que cela s'appuie sur, sans oublier qu'une fois que vous les trouvez, tout le code ne compile pas.


Références ajoutées, désolé à ce sujet. Cela compile définitivement cependant -



0
votes

J'ai essayé la réponse d'Ismail et cela fonctionnait bien. Cependant, cela m'a pris un certain temps pour déterminer comment le faire fonctionner. Je peux partager ce bit de connaissances:

La solution nécessite Exceldna de CodePlex: lien .

tel que j'utilise net 4.0 je n'ai pas .zip support, donc j'ai d'abord extrait les fichiers .xslm sur une structure de répertoire à plat Ensuite, j'ai changé le code pour lire directement des fichiers. Ensuite, dans l'Excel, j'appelle la méthode d'extension Exceldna comme xxx

les instructions de la classe utilitaire (pour moi): xxx

J'espère que cela aide ... merci ismail!


0 commentaires

9
votes

J'utilise ImagemSo assez fréquemment dans mon développement Excel. Après avoir trébuché sur ce post, je vous ai suivi une étape et mettez un paquet ensemble pour rechercher, extraire et enregistrer visuellement des icônes de Microsoft Excel en tant que fichier ou copier et coller (avec transparence alpha canal) vers une autre application. J'ai également compilé une liste de 8 899 noms d'imagems distincts des différentes sources. J'espère que les autres peuvent trouver cela utile.

Microsoft Office Icons (ImageMSO) Galerie & Extraction

imagemseo Galerie sur Microsoft Excel 2013 exécutant Windows 8


11 commentaires

Je capable de charger un complément à mon Excel 2013 sous Windows 8. Mais il n'y a pas de nouveau groupe / commande dans l'onglet Insérer.


J'utilise une version 32 bits d'Excel 2013. Il n'y a rien devenu après avoir chargé ce complément.


Fonctionne idéal pour moi dans Excel 2010 32 bits sur Win7! Merci!


J'ai mis une mise à jour avec plusieurs optimisations. J'ai joint une capture d'écran de la galerie en cours d'exécution dans Microsoft Excel 2013 sur Windows 8. J'espère que cela résout votre problème et si ce n'est pas le cas, je peux peut-être obtenir les fichiers PNG pour vous. Plus particulièrement, il y a maintenant 8 899 noms ImageMSO de trouver une source supplémentaire.


"La fonction de rappel sur la charge n'a pas été trouvée". Soupir, pourquoi cela doit-il être si difficile? Ce ne sont que des icônes !!! Je cherchais une heure à la recherche d'une heure d'une heure d'A. Obtenez un complément Excel au travail et B. Un jeu d'icônes de bureau. Pensez-vous que vous pourriez m'envoyer un fichier avec PNGS ou l'organiser quelque part?


Comme 3 500 autres personnes ont téléchargé ce complément sans problème. Cela m'aiderait à vous aider si vous avez commencé avec quelle version Excel et édition vous utilisez.


C'est un excellent utilitaire, bien que l'utilisation d'Excel prend un peu d'habitude de s'y habituer. Et malheureusement, je ne vois aucune instruction. J'utilise actuellement Excel 2010 et je ne trouve pas le XLL lorsque je vais à l'option add-ins. Au lieu de cela, je le lance en ouvrant directement le fichier imagemso.gallery.xll. S'il y a quelque chose d'autre que je devrais faire pour l'utiliser correctement, et si je devrais voir un bouton dans mon ruban, placez-moi directement.


@EJMAK, la façon dont vous l'utilisez, c'est double clic sur le XLL lorsque vous en avez besoin, c'est la façon dont il est censé être utilisé. Après avoir ouvert directement, vous devriez pouvoir le lancer à nouveau dans le ruban Insérer. Cela ne fonctionne parfois que s'il y a un classeur ouvert. Ne me demandez pas pourquoi. Si vous souhaitez avoir le complément disponible tout le temps, vous devrez l'ajouter manuellement via le menu, le fichier> Options> Add-ins> Gérer> Excel Add-ins> Go> Parcourir.


Fonctionne comme un charme sur Excel 2016 sur Windows 10 :-)


Je ne sais pas si je suis aveugle, mais je ne peux pas voir où vous téléchargez l'addition de. Le site contient uniquement une "archive" avec le code source.


D'accord avec @GyumMfox. Sommes-nous censés charger et compiler la solution ou y a-t-il un .xll sera prêt quelque part?