域用户如何批量修改服务器时间,如何批量修改word中的域

Sub FieldsToPictures()

Application.ScreenUpdating = False   '关闭屏幕刷新

Dim aField As Field, aStart&, aEnd&, aWidth&, aDoc As Document

Dim aInlineShape As InlineShape, codeBackup$, aPosition&

Set aDoc = Application.Documents(ActiveDocument.Name)    '不使用aDoc = ActiveDocument,以增加通用性

For Each aField In aDoc.Fields                           '在所有域中循环

If aField.Type = wdFieldFormula Then                 '判断是否为EQ域

codeBackup = aField.Code                                     '备份域代码,以防恢复

aStart = aField.Code.Start - 1: aEnd = aField.Code.End + 1   '获取域代码Range对象的起始坐标

aDoc.Range(aStart, aStart).Select                            '定位域起点,必须使用Select方法,Information属性的特性,选定内容不在当前屏幕时,将返回-1

aStart = Selection.Information(wdHorizontalPositionRelativeToPage)  '获取域起点到页面左边缘的距离,单位磅

Selection.MoveRight Unit:=wdCharacter, Count:=1              '向后移动一位光标,移动到域的终点

aEnd = Selection.Information(wdHorizontalPositionRelativeToPage)    '获取域终点到页面左边缘的距离,单位磅

aWidth = aEnd - aStart                                       '获取转化后的图片应有尺寸

aStart = aField.Code.Start - 1: aEnd = aField.Code.End + 1   '再次获取域代码Range对象的起始坐标

aDoc.Range(aStart, aEnd).CopyAsPicture                       '以图片形式复制域代码区域

aDoc.Range(aStart, aEnd).PasteSpecial Placement:=wdInLine, DataType:=wdPasteMetafilePicture  '在域代码区域粘贴图元文件

Set aInlineShape = aDoc.Range(aStart, aStart + 1).InlineShapes(1)      '获取图元文件

aInlineShape.PictureFormat.CropRight = aInlineShape.Width - aWidth     '裁剪图元文件

aPosition = 5 * (aInlineShape.Height \ 15) + aInlineShape.Height \ 30  '计算图元文件的竖向位置调整值

aInlineShape.Range.Font.Position = 0 - aPosition    '调整图元文件竖向位置

aInlineShape.AlternativeText = codeBackup           '备份域代码,以防恢复

End If

Next

Application.ScreenUpdating = True  '恢复屏幕刷新

End Sub

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值