2010版vba设置页眉页脚代码中的BUG2010版vba设置页眉页脚代码中的BUG
最近装上了2010版的EXCEL,在使用过程中,发现使用VBA设置页眉页脚时,预览结果与程序代码想要的效果不一样,经过反复测试,发现在2003版中正常。原因是:一般情况下,我们都是通过关闭与打印机通信
(Application.PrintCommunication = FALSE)来提高代码运行效率,但2010版中出现了BUG。
关闭打印机通信时,将会无法正常执行页眉页脚的设置代码。
例如:
Sub printset1()
Application.PrintCommunic...
2010版vba设置页眉页脚代码中的BUG
最近装上了2010版的EXCEL,在使用过程中,发现使用VBA设置页眉页脚时,预览结果与程序代码想要的效果不一样,经过反复测试,发现在2003版中正常。原因是:一般情况下,我们都是通过关闭与打印机通信
(Application.PrintCommunication = FALSE)来提高代码运行效率,但2010版中出现了BUG。
关闭打印机通信时,将会无法正常执行页眉页脚的设置代码。
例如:
Sub printset1()
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.PrintTitleRows = "$1:$1"
.PrintTitleColumns = ""
End With
Application.PrintCommunication = True
ActiveSheet.PageSetup.PrintArea = "$C:$N"
Application.PrintCommunication = False ‘关闭通信
With ActiveSheet
.PageSetup.LeftHeader = "&F"
.PageSetup.LeftFooter = "[小票清单]"
.PageSetup.CenterHeader = "测试"
.PageSetup.CenterFooter = "第&P页"
.PageSetup.RightHeader = "单位(元) 提取时间:&D "
.PageSetup.RightFooter = "共&N页"
End With
Application.PrintCommunication = True ’开启通信
end sub
这段代码在2003版EXCEL中运行正常,但在2010版中,页眉页脚将会无法达到我们预想的效果。
经测试后发现,只要去掉(Application.PrintCommunication = False ‘关闭通信),在2010版中代码才能运行正常.完整代码如下:
Sub printset1()
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.PrintTitleRows = "$1:$1"
.PrintTitleColumns = ""
End With
Application.PrintCommunication = True
ActiveSheet.PageSetup.PrintArea = "$C:$N"
‘不能关闭打印通信,否则以下代码不能正常运行
With ActiveSheet
.PageSetup.LeftHeader = "&F"
.PageSetup.LeftFooter = "[小票清单]"
.PageSetup.CenterHeader = "测试"
.PageSetup.CenterFooter = "第&P页"
.PageSetup.RightHeader = "单位(元) 提取时间:&D "
.PageSetup.RightFooter = "共&N页"
End With
end sub
因此,我们在2010版的EXCEL中,为了使VBA代码在设置页眉页脚时能够正常运行,请不要使用Application.PrintCommunication,false关闭打印机通信
本文档为【2010版vba设置页眉页脚代码中的BUG】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。