我正在尝试使用Excel-VBA为我的工作表设置PageSetup信息,但它给了我以下错误:
运行时错误'1004':
无法设置PageSetup类的LeftFooter属性
相关的示例代码如下:
Set WS = ActiveWorkbook.ActiveSheet
WS.DisplayPageBreaks = False
With WS.PageSetup
.PrintArea = "$A$1:$L$32"
.Orientation = xlLandscape
.CenterHeader = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" & Chr(10) & _
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
.CenterFooter = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" & Chr(10) & _
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
.RightFooter = "XXXXXXXXXXXXXXXXXXXXXXX" & Chr(10) & _
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
.LeftFooter = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" & Chr(10) & _
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" & Chr(10) & _
"XXXXXXXXXXXXXXXXXXXXXXXXXX"
.CenterHorizontally = True
.Zoom = False
End With
奇怪的是,如果我注释掉三个.xxxFooter行中的任何一行,代码就可以了。如果我将它们重新排列成任何可能的不同顺序,它们都会起作用,但最后一个会抛出相同的1004错误但是对于新的.xxxFooter。
此用户似乎有一个高度相关的问题,但从未解决过:Error when setting Worksheet.PageSetup.XxxFooter。作为对问题的评论,是的,我确实安装了打印机。
修改
另一个发现:如果我删除了一些字符,那么它将再次起作用。手动添加其他字符最终会导致弹出此错误框:
您输入的文字字符串太长。减少使用的字符数。
我可以通过缩小页脚中的很多内容来暂时解决这个问题,但有没有其他方法可以解决这个问题,任何人都可以解释为什么页脚中存在字符限制?这在Excel 2016中似乎很神秘......