Jak zapisać ikonę ImageMSO z Microsoft Office 2007?

Znalazłem wiele fajnych ikon z Microsoft Office 2007. Czy masz pomysł na wypakowanie i zapisanie wszystkich ikon jako plików PNG przy użyciu VBA?

Częściowy obrazMSO http://rabu4g.bay.livefilestore.com/y1p2SF1q63YjDjPNmK4nYMW2644r9AO2aAsE__vBYznTeXD0b4SJUU0O07fxPD0r7aO_83gCJ-8OfcOQsFKG0fQMRnTEneBU1TI/Capture.PNG

Poniższy kod jest kodem używanym do uzyskania obrazu z ImageMSO.

Application.CommandBars.GetImageMso([name], [width], [height])

Mogę wyświetlić wszystkie jako kontrolę PictureBox i zapisać plik excel jako stronę internetową. Jednak każda ikona ma bardzo niską jakość.

Ponadto staram się utworzyć projekt dodatku C # Excel do eksportowania jako obiektu Bitmap przy użyciu następującego kodu. Ale odkryłem, że nie może eksportować jako półprzezroczysty PNG.

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

PS. Chcę zapisać wszystkie ikony w formacie PNG, ponieważ muszę użyć ich półprzezroczystej funkcji. To pozwala mi używać wszystkich ikon na większości kolorów tła bardziej niż białe tło.

questionAnswers(4)

yourAnswerToTheQuestion