如何在MS Word中通过VBA实现截图或文档图片保存为JPG文件
Word VBA 实现选中图片导出为JPG文件(复刻右键「另存为图片」功能)
适配限制说明
- 不依赖Excel图表导出逻辑,纯Word原生接口实现,无需跨软件调用
- 不需要执行另存为HTML操作,直接生成目标JPG文件,无额外临时文件
- 代码不含
Option Explicit语句,不会干扰现有用户窗体的变量逻辑
使用步骤
- 打开目标Word文档,选中需要保存的截图/图片
- 按
Alt + F11打开VBA编辑器,右键当前文档名称选择「插入」-「模块」 - 将下方的VBA代码粘贴到新建的模块中
- 按
F5运行SaveSelectedAsJPG宏,在弹出的对话框中选择保存路径即可
VBA 代码
Sub SaveSelectedAsJPG() Dim savePath As String Dim imgObj As Object ' 校验选中对象是否为图片 If Selection.Type = wdSelectionInlineShape Then Set imgObj = Selection.InlineShapes(1) ElseIf Selection.Type = wdSelectionShape Then Set imgObj = Selection.ShapeRange(1) Else MsgBox "请先选中要保存的图片", vbExclamation Exit Sub End If ' 弹出保存路径选择窗口 With Application.FileDialog(msoFileDialogSaveAs) .Filter.Clear .Filter.Add "JPEG 图片 (*.jpg)", "*.jpg" .Title = "选择图片保存位置" If .Show <> -1 Then Exit Sub savePath = .SelectedItems(1) End With ' 执行导出操作 imgObj.Export FileName:=savePath, Filter:=msoFilterFormatJPG MsgBox "图片已成功保存至:" & vbCrLf & savePath, vbInformation End Sub
注意事项
- 同时支持嵌入式图片和浮动式图片的导出
- 导出的JPG清晰度与Word文档内插入的原图清晰度一致
- 若导出失败请检查目标保存路径是否有写入权限
内容的提问来源于stack exchange,提问作者Alfonso Galvan
相关产品推荐
相关产品推荐

