So sparen Sie ImageMSO-Symbol von Microsoft Office 2007?
Fand ich eine Menge schöne icons aus Microsoft Office 2007. Haben Sie eine Idee für Extrakt & speichern Sie alle icons als PNG-Dateien mit VBA?
Folgende code ist der code, der verwendet wird, um Bild von ImageMSO.
Application.CommandBars.GetImageMso([name], [width], [height])
Kann ich alle anzeigen wie PictureBox-Steuerelement und speichern von excel-Datei als web-Seite. Aber alle Symbole sind sehr niedrige Qualität.
Außerdem versuche ich das erstellen von C# - Excel-Add-in-Projekt für den Export als Bitmap-Objekt mit den folgenden code. Aber ich fand, dass es nicht den export als semi-transparente PNG.
stdole.IPictureDisp p = Application.CommandBars.GetImageMso(fileName, size, size);
Bitmap b = Bitmap.FromHbitmap((IntPtr)p.Handle, (IntPtr)p.hPal);
PS. Ich will sparen Sie alle icons als PNG-format, da ich halb-transparent Eigenschaft. Es erlaubt mir zu verwenden, werden alle Symbole auf den meisten hintergrund-Farbe mehr als weißem hintergrund.
- viel Glück mit dem Extrahieren?
- NÖ. Ich gebe einfach oben dazu.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Benutze ich ImageMso Recht Häufig in meine Excel-Entwicklung. Mit bin über diesen Beitrag gestolpert, ich nahm es ein Schritt weiter und stellen ein Paket zusammen, um visuell zu suchen, extrahieren und speichern von icons aus Microsoft Excel als Datei oder kopieren und einfügen (mit alpha-Kanal-Transparenz) zu einer anderen Anwendung. Ich habe auch eine Liste zusammengestellt 8,899 verschiedene ImageMso Namen aus den verschiedenen Quellen. Ich hoffe, andere finden diese nützlich.
Microsoft Office Icons (ImageMSO) Galerie & Extraktion
Habe ich gewickelt, bis ein C# - Utility-Klasse für die Extraktion von Office2007 Galerie-Ikonen zu .png-Dateien unter Beibehaltung Ihrer Transparenz richtig. Der Haupt-code ist aus einem tollen Artikel geschrieben von Andrew Whitechapel (
http://blogs.msdn.com/b/andreww/archive/2007/10/10/preserving-the-alpha-channel-when-converting-images.aspx). Ich habe integriert, mit der Office-2007-Beispiel Symbol-Blatt, in Fall, dass Sie wollen, zu extrahieren alle diese Symbole auf eine target-Ordner.
Schritte sind:
1) Laden Sie die Office Galerie Kalkulationstabelle http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=11675
2) - Aufruf OfficeIcons.ExtractAllIcons ( ... ) mit der Lage der Office2007IconsGallery.xlsm Beispieltabelle, und den Zielordner, wo Sie möchten, dass die icons extrahiert.
{code}
{code}
Alle PNG-Dateien können gefunden werden hier Diese sind alle im PNG-format bereits. Gute Programmierung! (ein nettes ZIP-Archiv ist auch verfügbar Hier) Das ZIP-Archiv enthält alle 17 des Excel-icons.
Wenn Sie die GetImageMso Methode, Sie am Ende mit ein IPicture-Schnittstelle auf das Objekt. Die IPicture-Schnittstelle greift auf das Symbol, geeignet für die Speicherung in einer Datei im original-format - ein .ICO -, .WMF-oder .BMP-PNG-format wird nicht unterstützt. Die folgenden links erklären, warum dies nicht direkt möglich:
http://msdn.microsoft.com/en-us/library/aa434604.aspx (msoGetImageMso Methode)
http://msdn.microsoft.com/en-us/library/ms680761%28VS.85%29.aspx (IPicture-Schnittstelle)
http://msdn.microsoft.com/en-us/library/ms694504%28VS.85%29.aspx (Als Datei speichern-Methode)
Jedoch mit einem komplexeren Ansatz ergeben, was Sie wollen:
http://blogs.msdn.com/mshneer/archive/2007/10/10/preserving-transparency-when-rendering-office-icons.aspx
Ich habe versucht, Ismail s Antwort und es hat funktioniert, Super. Allerdings dauerte es eine Weile, um herauszufinden, wie es funktioniert. Ich kann teilen dieses bit an knowledge:
Die Lösung erfordert ExcelDna von codeplex: link.
So, ich bin mit
Net 4.0
ich nicht .zip Unterstützung, damit ich zuerst extrahiert die .xslm Dateien auf eine flache Verzeichnisstruktur, dann änderte ich den code zum Lesen direkt aus den Dateien.Dann in der Excel-ich nenne die ExcelDna Erweiterung Methode als
Den using-Anweisungen für die utility-Klasse (für mich):
Hoffe, das hilft.... Danke Ismail!