设置Excel打印区域(printarea)的问题

allanli 2010-06-17 06:26:52
Excel的printarea如果你用宏代码设置的话是只能设置长度不大于256个字符的区域的,但如果我的
打印区域很多时就会超过256长度限制了,是无法通过宏设置打印区域的,这也就算了,不行就不行
但今天突然发现如果我自己手工选择打印区域,然后通过菜单的设置打印区域设置打印区域
却可以设置无限制多的打印区域,我试图通过录制宏看看它是如何设置的,却出现崩毁无法录制宏

...全文
1511 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
金融砖家 2010-06-21
  • 打赏
  • 举报
回复
000
ACMAIN_CHM 2010-06-20
  • 打赏
  • 举报
回复
测试一下,的确如此。

估计是VBA中只能支持一个字节的区域。但在界面上手工操作的时候估计EXCEL已经进行了区域的合并。
allanli 2010-06-20
  • 打赏
  • 举报
回复
继续关注
宋翔 2010-06-20
  • 打赏
  • 举报
回复
帮顶一下
ZenRoi 2010-06-18
  • 打赏
  • 举报
回复
用定义名称的方法将区域定义为一个名称(比如area),然后:
Range("area").PrintOut
allanli 2010-06-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 alzeng 的回复:]

不管你用什么程序调用打印,也一样要用Excel来设置打印区域,那么用定义名称所得到的区域一样可以识别。
[/Quote]

我在其他程序不用设置打印区域啊,就是直接调用xlsBook.Sheets(intSheetIndex).PrintPreview()
就是了,如果打印区域不超长的话,我只要在宏里面设置printarea就可以了,是不需要调用预览的
如果我在宏里面调用预览,调用Excel的程序又调用预览,就会出问题了,变成无法显示Excel了
ZenRoi 2010-06-18
  • 打赏
  • 举报
回复
不管你用什么程序调用打印,也一样要用Excel来设置打印区域,那么用定义名称所得到的区域一样可以识别。
allanli 2010-06-18
  • 打赏
  • 举报
回复
我是在宏写代码,然后在其他程序调用打印的,用rang.printout就不能在其他程序调用打印了
我现在奇怪的是为什么我用宏不能设置超过17(大概是17个左右)个区域的打印区域
而用菜单设置就能设置呢?想录制一下宏看看菜单设置是用什么代码设置的也不能
我估计Excel菜单是用它自己的内部方法设置打印区域的

5,139

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧