我从Microsoft Office 2007中发现了很多漂亮的图标.你有没有想过提取并使用VBA将所有图标保存为PNG文件?
部分ImageMSO http://rabu4g.bay.livefilestore.com/y1p2SF1q63YjDjPNmK4nYMW2644r9AO2aAsE__vBYznTeXD0b4SJUU0O07fxPD0r7aO_83gCJ-8OfcOQsFKG0fQMRnTEneBU1TI/Capture.PNG
以下代码是用于从ImageMSO获取图像的代码.
Application.CommandBars.GetImageMso([name], [width], [height])
我可以将所有内容显示为PictureBox控件并将excel文件另存为网页.但是,每个图标质量都很低.
此外,我尝试使用以下代码创建用于导出为Bitmap对象的C#Excel加载项项目.但我发现它无法导出为半透明的PNG.
stdole.IPictureDisp p = Application.CommandBars.GetImageMso(fileName, size, size); Bitmap b = Bitmap.FromHbitmap((IntPtr)p.Handle, (IntPtr)p.hPal);
PS.我想将所有图标保存为PNG格式,因为我需要使用它的半透明功能.它允许我在大多数背景颜色上使用所有图标而不是白色背景.
我在Excel开发中经常使用ImageMso.偶然发现了这篇文章后,我更进了一步,将一个软件包放在一起,直观地搜索,提取并保存Microsoft Excel中的图标作为文件,或者复制并粘贴(带有alpha通道透明度)到另一个应用程序.我还从各种来源编制了一个包含8,899个不同ImageMso名称的列表.我希望其他人能发现这个有用.
Microsoft Office图标(ImageMSO)图库和提取