求大佬帮忙看一下我写的 wps批量添加 页码样式的 vb宏 错误在哪

查看 2|回复 0
作者:zhendebuyiban   
我不懂编程 我用豆包  ds 通义千问3 写出来都白搭。
[Visual Basic] 纯文本查看 复制代码Sub AddCenteredPageNumber()
    Dim doc As Object
    Dim sec As Object
    Dim ftr As Object
    Dim rng As Object
   
    On Error Resume Next ' 防止部分对象不存在导致报错
   
    Set doc = ActiveDocument
   
    For Each sec In doc.Sections
        Set ftr = sec.Footers(1) ' 主页脚 (wdHeaderFooterPrimary)
        Set rng = ftr.Range
        
        rng.Text = "" ' 清空原有内容
        
        ' 设置字体(可选)
        With rng.Font
            .Name = "宋体"
            .Size = 10.5 ' 小四字号
        End With
        
        ' 设置段落居中
        rng.Paragraphs(1).Alignment = 1 ' wdAlignParagraphCenter = 1
        
        ' 插入文本和字段
        rng.InsertAfter "第 "
        rng.Collapse 0 ' wdCollapseEnd = 0
        
        ' 插入 PAGE 字段
        rng.Fields.Add Range:=rng, Type:=-1, Text:="PAGE", PreserveFormatting:=False
        
        rng.Collapse 0
        rng.InsertAfter " 页 共 "
        
        rng.Collapse 0
        ' 插入 NUMPAGES 字段
        rng.Fields.Add Range:=rng, Type:=-1, Text:="NUMPAGES", PreserveFormatting:=False
        
        rng.Collapse 0
        rng.InsertAfter " 页"
    Next sec
   
    MsgBox "已成功添加居中页脚:" & vbCrLf & "第 x 页 共 y 页", vbInformation, "操作完成"
' 刷新所有字段以确保显示正确
    doc.Fields.Update
   
    ' 清理对象
    Set rng = Nothing
    Set ftr = Nothing
    Set sec = Nothing
    Set doc = Nothing
End Sub
应用结果显示这样的  
第  页 共  页501。
50是文档总页数,1是当前页码
大佬们能帮忙写一个吗 要求是 页码样式为居中  第 x 页 共 y 页 其中x为当前页码,y为总页数。wps 2019企业版。
最好是能写一个 单文件版的 和 批量处理版的。

宋体, 页码

您需要登录后才可以回帖 登录 | 立即注册

返回顶部