Excel VBA-页脚不';无法通过代码正确更新
在编写代码通过VBA更新页脚中的自定义编号时,我遇到了一个奇怪的行为。我正在使用Excel 365 目标:将自定义页码写入每张图纸 我已经写了下面的代码,在一定程度上有效Excel VBA-页脚不';无法通过代码正确更新,excel,vba,Excel,Vba,在编写代码通过VBA更新页脚中的自定义编号时,我遇到了一个奇怪的行为。我正在使用Excel 365 目标:将自定义页码写入每张图纸 我已经写了下面的代码,在一定程度上有效 Sub TestHdrFooter() Dim wksCurr As Worksheet Dim lngPageBase As Long, lngShtLen As Long Dim strBaseDocNumb As String, strRev As String, strExpr As String lngPageBa
Sub TestHdrFooter()
Dim wksCurr As Worksheet
Dim lngPageBase As Long, lngShtLen As Long
Dim strBaseDocNumb As String, strRev As String, strExpr As String
lngPageBase = 2
strBaseDocNumb = "DOC-99-100000-AA-9999-99999"
strRev = "01"
lngShtLen = Len("0005")
For i = 1 To ThisWorkbook.Sheets.Count
Set wksCurr = ThisWorkbook.Sheets(i)
With wksCurr.PageSetup
'\\ Reset footer if something has been accidentally entered
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
If Len(CStr(lngPageBase)) = 1 Then
.RightFooter = strBaseDocNumb & "-" & Application.Rept("0", lngShtLen - 1) & " &[Page]+" & lngPageBase & "-" & strRev
Else
.RightFooter = strBaseDocNumb & "-" & Application.Rept("0", lngShtLen - 2) & " &[Page]+" & lngPageBase & "-" & strRev
End If
lngPageBase = lngPageBase + .Pages.Count
End With
Next i
End Sub
但是,当我通过页面设置>>页眉/页脚打开它时,它不能直接正确更新,我看到它显示如下,没有代码中可用的左括号
然后是陌生人的部分。当我打开表单上的“自定义页脚”对话框时,它会显示缺少的括号,然后在关闭此对话框时只需按“确定”即可正确更新所有内容,而无需更改任何内容!我猜不出这种行为的原因
问题:
我的VBA代码有什么问题需要修改吗
如果代码正确,有没有办法强制刷新第二个屏幕截图中出现的表达式
我应该在发布问题之前阅读微软的文档。我的代码表达式虽然从字面上看是正确的,但它不是通过VBA使用它的正确方法
不正确的表达:
.righfooter=strBaseDocNumb&“-”和Application.Rept(“0”,lngShtLen-1)和“&[Page]+”&lngPageBase&“-”和strev
正确表达:
.righfooter=strBaseDocNumb&“-”和Application.Rept(“0”,lngShtLen-1)和“&p+”&lngPageBase&“-”和strev
请注意页面部分中的更改。MS文档中明确提到了这一点