【VBA】在word文档上每一页插入图片\插入画笔线条

由于某些规范要求每一页都批阅痕迹,工程量太大不得不出此下策略,复制以下代码替换路径即可。然后配合wps设置快捷键即可一键打钩
使用步骤:

  • 按下 ALT + F11 打开 Visual Basic for Applications (VBA) 编辑器。
  • 在左侧的项目资源管理器中,选择你的工作簿。
  • 插入一个新的模块(在菜单中选择 Insert -> Module)。
  • 在新模块中输入以下代码:

Sub dagouPer()

Dim i&, sha As Shape
Application.ScreenUpdating = False
    '文件选择对话框

Selection.HomeKey wdStory '如果删掉√会打在一个地方


Const fileName As String = "D:\py_checkFolder\dagou.png" '替换路径即可

Const fileName2 As String = "D:\py_checkFolder\dagou2.png"

Application.Browser.Target = wdBrowsePage '设置按页浏览

    

For i = 1 To ActiveDocument.ActiveWindow.ActivePane.Pages.Count

    Selection.MoveDown wdParagraph, 1 '下移一段
    
  
    If i <> 1 And i <> 2 And i Mod 2 <> 0 Then
        Set sha = Selection.InlineShapes.AddPicture(fileName:=fileName, LinkToFile:=False, SaveWithDocument:=True).ConvertToShape '插入图形
        With sha
            .WrapFormat.Type = wdWrapFront '设置文字环绕方式,wdwrapfront置于文字上方,wdwrapbehind置于文字下方,wdwrapthrough四周环绕……

            .LockAspectRatio = msoCTrue '锁定纵横比

            .Height = 450

        End With

    End If
  
      
    If i <> 1 And i <> 2 And i Mod 2 = 0 Then
        Set sha = Selection.InlineShapes.AddPicture(fileName:=fileName2, LinkToFile:=False, SaveWithDocument:=True).ConvertToShape '插入图形
        With sha
            .WrapFormat.Type = wdWrapFront

            .LockAspectRatio = msoCTrue

            .Height = 450

        End With

    End If
    
    Application.Browser.Next '走到下一页
    
NextIteration:
    Next i

Application.ScreenUpdating = True
    
End Sub
  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值