如何通过VBA设置Excel高清保真与图片不压缩参数插入高清图片?
用VBA设置Excel高清图片插入选项
要通过VBA程序化开启「高保真分辨率」和「不压缩文件中的图像」这两个设置,可以直接操作Excel对象模型的对应属性——宏录制器无法捕捉这些设置,是因为它们属于应用程序或工作簿的底层属性,而非可视化操作类动作。
1. 设置默认图片分辨率为「High Fidelity」
这是应用程序级的全局设置,会影响所有新建工作簿的默认图片插入分辨率:
' 将默认图片分辨率设为330dpi(对应High Fidelity选项) Application.DefaultPictureResolution = 330
注:Excel中各分辨率选项对应的数值:Web(96dpi)、打印(220dpi)、高保真(330dpi)
2. 开启「不压缩文件中的图像」
这是工作簿级设置,需要针对目标工作簿单独配置:
' 针对当前活动工作簿开启不压缩图像 ActiveWorkbook.DoNotCompressImages = True ' 如果是新建工作簿,可先创建再设置 Dim newWB As Workbook Set newWB = Workbooks.Add newWB.DoNotCompressImages = True
完整示例代码
如果要创建一个新工作簿并直接配置好高清图片插入的所有设置,可使用这段代码:
Sub CreateHighResWorkbook() ' 设置应用程序默认分辨率为高保真 Application.DefaultPictureResolution = 330 ' 创建新工作簿 Dim highResWB As Workbook Set highResWB = Workbooks.Add ' 开启该工作簿的不压缩图像选项 highResWB.DoNotCompressImages = True ' 可选:插入测试图片验证 ' highResWB.ActiveSheet.Shapes.AddPicture _ ' Filename:="C:\YourImagePath.jpg", _ ' LinkToFile:=msoFalse, _ ' SaveWithDocument:=msoTrue, _ ' Left:=10, Top:=10, Width:=200, Height:=200 End Sub
注意:DoNotCompressImages属性仅适用于Excel 2010及以后版本,且该设置会随工作簿保存,下次打开时依然生效。
内容的提问来源于stack exchange,提问作者user1009073
相关产品推荐
相关产品推荐

