如何将Word中的嵌入式图片批量更改为非嵌入式?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将Word中的嵌入式图片批量更改为非嵌入式?相关的知识,希望对你有一定的参考价值。

默认设置下,Word中插入的图片,总是会默认使用嵌入式,这样处理起来很不方便,例如无法使用“选择对象”的功能。但如果一个一个手工更改为非嵌入式,又非常的麻烦,那么有没有什么办法可以将文档中所插入的嵌入式图片批量更改为非嵌入式呢?最好不要使用宏代码的方式,请各位高手出来解决这个问题,谢谢

将Word中的嵌入式图片批量更改为非嵌入式的具体步骤如下:

1、首先打开需要编辑的Word文档,进入到编辑页面中。

2、然后在弹出来的窗口中点击打开“高级”。

3、然后在弹出来的窗口中点击打开“将图片插入/粘贴为”后面的选项,选择想要的格式,回车确定即可。

参考技术A

  方法如下:

  1、打开word;

  2、点击office按钮->word选项;

  3、点击高级,选择四周型格式(可以根据自己需要的格式选择。),确定;

  4、设置完成后,word以后所有批量导入图片都为非非嵌入式了。

参考技术B 可以修改一下图片默认的插入方式:
WORD选项--高级--剪切、复制和粘贴,设置“将图片插入/粘贴为”,选择为需要的方式。追问

我知道这样,不过这样做只能改变将要插入图片的格式。对于已经插入的图片没有用。我问的是已经插入文档的图片。

参考技术C 可以使用通配符替换,在查找框中输入 ^g,在替换框中输入 ^&,并在替换框中指定图文框的格式为环绕型,单击全部替换即可,结果会是版面错乱的。

Word 利用 VBA 批量设置图片格式

Word 利用 VBA 批量设置图片格式

批量设置图片格式

Sub setShapeStyle()  
    On Error Resume Next  
    Dim myShape As InlineShape
    
    ' 如果没有名叫“图片”的样式,提示用户创建
    Dim imgStyle As Style, imgStyleName As String
    imgStyleName = "图片"
    Set imgStyle = ActiveDocument.Styles(imgStyleName)
    If imgStyle Is Nothing Then
        MsgBox "请先创建样式【" & imgStyleName & "】"
        Exit Sub
    End If
    
    '关闭屏幕更新,提升执行效率
    Application.ScreenUpdating = False
    
    '遍历所有嵌入式图片
    For Each myShape In ActiveDocument.InlineShapes
        
        With myShape
            ' -------- 设置边框 --------
            .Borders.OutsideLineStyle = wdLineStyleSingle '边框类型
            .Borders.OutsideColorIndex = wdBlack '边框颜色
            .Borders.OutsideLineWidth = wdLineWidth100pt '边框粗细
            ' -------- 设置样式 --------
            If .Type = wdInlineShapePicture Then
                .Range.Style = imgStyleName  '设置图片样式为“图片”
            End If
            ' -------- 设置高宽 --------
            .ScaleWidth = 100  ' 缩放重置为100%
            .ScaleHeight = 100 ' 缩放重置为100%
            .LockAspectRatio = msoTrue  ' 锁定纵横比
            '.Height = 600 ' 600点
            '.Width = CentimetersToPoints(15) '15 CM
            .Width = ThisDocument.PageSetup.TextColumns.Width ' 当前文档宽度
            ' -------- 图片下方插入题注 --------
            .Range.InsertCaption Label:="图:", TitleAutoText:="", Title:="", Position:=wdCaptionPositionBelow, ExcludeLabel:=0
        End With
        
    Next
    
    '开启屏幕更新
    Application.ScreenUpdating = True

End Sub

转为嵌入式图形

网上抄来改了一下:

Sub ConvertToInlineShape()
    Dim total, count
    count = 0
    total = 0
    For Each myShape In ActiveDocument.Shapes
        If myShape.Type = msoPicture Then
            ' 转换为嵌入式图片
            myShape.ConvertToInlineShape
            count = count + 1
        End If
        total = total + 1
    Next myShape
    
    MsgBox "转换【" & count & "/" & total & "】个图片!"
    
End Sub

参考资料

微软Docs 》Office VBA 参考 》Word 》对象模型 》Style 对象
Docs 》Office VBA 参考 》Word 》对象模型 》Range 对象 》方法 》插入题注InsertCaption
WdLineWidth 枚举

Docs》Office》VBA》参考》Word》对象模型》InlineShape》对象》方法》Reset

VBA操作WORD(五)批量调整图片大小、居中设置

以上是关于如何将Word中的嵌入式图片批量更改为非嵌入式?的主要内容,如果未能解决你的问题,请参考以下文章

准时下班系列!Word合集之第1集—批量设置嵌入型图片解决方案

wps文档怎么把图片嵌入表格

Word 利用 VBA 批量设置图片格式

word中如何让文字与图片上下居中?

word中选择嵌入式时图片被遮住,只显示小部分的解决方法

如何用word使图片上下居中