Ich habe viele schöne Icons von Microsoft Office 2007 gefunden. Haben Sie eine Idee für extract & amp; Speichern Sie alle Symbole als PNG-Dateien mit VBA?
Der folgende Code ist Code, der verwendet wird, um Image von ImageMSO zu erhalten.
%Vor%Ich kann alles als PictureBox-Steuerelement anzeigen und Excel-Datei als Webseite speichern. Allerdings hat jedes Icon eine sehr geringe Qualität.
Außerdem versuche ich, ein C # Excel Add-In-Projekt zum Exportieren als Bitmap-Objekt zu erstellen, indem ich den folgenden Code verwende. Aber ich habe festgestellt, dass es nicht als halbtransparentes PNG exportieren kann.
%Vor%PS. Ich möchte alle Symbole als PNG-Format speichern, da ich die halbtransparente Funktion verwenden muss. Es erlaubt mir, alle Symbole auf den meisten Hintergrundfarben mehr als weißen Hintergrund zu verwenden.
Ich verwende ImageMso ziemlich häufig in meiner Excel-Entwicklung. Nachdem ich über diesen Beitrag gestolpert bin, ging ich noch einen Schritt weiter und stellte ein Paket zusammen, um visuell Symbole aus Microsoft Excel als Datei zu suchen, zu extrahieren und zu speichern oder mit einer Alpha-Kanal-Transparenz in eine andere Anwendung zu kopieren und einzufügen. Ich habe auch eine Liste von 8.899 verschiedenen ImageMso-Namen aus den verschiedenen Quellen zusammengestellt. Ich hoffe, andere können das nützlich finden.
Microsoft Office-Symbole (ImageMSO) Gallery & amp; Extraktion
Ich habe eine C # -Werkzeugklasse zum Extrahieren von Office2007-Galeriesymbolen in .png-Dateien geschlossen, während deren Transparenz ordnungsgemäß beibehalten wird. Der Hauptcode stammt aus einem großartigen Artikel von Andrew Whitechapel ( Ссылка ) . Ich habe dies in das Office 2007-Beispielsymbolblatt integriert, falls Sie alle diese Symbole in einen Zielordner extrahieren möchten.
Die Schritte sind:
1) Laden Sie die Office-Galerie-Tabelle unter Ссылка
2) Rufen Sie OfficeIcons.ExtractAllIcons () mit dem Speicherort der Office2007IconsGallery.xlsm-Beispieltabelle und dem Zielordner auf, in dem die Symbole extrahiert werden sollen.
{code}
%Vor%{code}
Alle PNG-Dateien können hier gefunden werden alles im PNG-Format bereits. Gute Programmierung! (ein schönes ZIP-Archiv ist ebenfalls verfügbar Hier ) Das ZIP-Archiv enthält alle 17 Excel-Symbole.
Wenn Sie die GetImageMso-Methode verwenden, erhalten Sie eine IPicture-Schnittstelle für das Objekt. Die IPicture-Schnittstelle greift auf das Symbol zu, das für die Speicherung in einer Datei im ursprünglichen Format geeignet ist - eine .ICO-, .WMF- oder eine .BMP-Datei. Das PNG-Format wird nicht unterstützt. Die folgenden Links erklären, warum dies nicht direkt möglich ist:
Ссылка (Methode msoGetImageMso) Ссылка (IPicture Interface) Ссылка (Speichern unter Datei-Methode)
Wenn Sie jedoch einen komplexeren Ansatz verwenden, erhalten Sie, was Sie wollen:
Ich habe Ismails Antwort versucht und es hat großartig funktioniert. Es hat jedoch eine Weile gedauert, bis ich herausgefunden hatte, wie es funktioniert. Ich kann dieses Wissen teilen:
Die Lösung erfordert ExcelDna von Codeplex: Link .
Da ich Net 4.0
verwende, habe ich keine .zip Unterstützung, also habe ich zuerst die .xslm Dateien in eine flache Verzeichnisstruktur extrahiert und dann den Code in geändert direkt aus den Dateien lesen.
Dann rufe ich die ExcelDna-Erweiterungsmethode im Excel als
Die using-Anweisungen für die Dienstprogrammklasse (für mich):
%Vor%Hoffe das hilft .... Danke Ismail!
Tags und Links vba office-2007 icons