一个excel工作簿中有多个工作表模版,在生成新的工作簿时可一次性生成全部工作表。
用什么方法可以对这个新的工作簿中的工作表一次性全部打印。
我试了好几天,只能逐一生成,逐一打印,而且严重屏闪。
可能我学的时间短,没找到方法。
哪位有好的方法。
谢谢!
Excel文件,支持三个Verb动作:
Open: 打开,这也是默认的动作。
OpenAsReadOnly:以只读方式打开
Print:打印,完成打印后自动关闭
能不能这样:
proc.Verb = "open"(0) '打开第一个工作表
有没有这样类似的办法
以下是引用ssqq在2009-11-14 16:09:00的发言:
把模板合并成一个表试试,或者尝试专业报表
也是个办法
不过挺难的,有二十多张表,且表结构完全不同,合并起来要花点好时间。
如果合并不行,就彻底拆分成独立的EXCEL表试试。
一次性全部打印按钮代码:
Dim Names() AS String = {"结果分析表","林种统计表","面积统计表","秋季验收表","补助测算表","坡度统计表","权属统计表","设计汇总表","设计统计表","投资测报表","预算汇总表","植被统计表","验收汇总表","二期补助表"}
For Each Name As String In Names
With Tables("分组统计")
.Select(0 ,0, .Rows.Count - 1, .Cols.Count - 1)
End with
Dim Book As New XLS.Book(ProjectPath & "Attachments\" & Name & ".xls") '打开模板
Book.Build() '生成细节区
Book.Save(ProjectPath & "Reports-:special:1:-& Name & ".xls") '保存工作簿
Dim Proc As New Process '打开工作簿
Proc.File =ProjectPath & "Reports-:special:1:-& Name & ".xls"
Proc.Start()
Next
[此贴子已经被作者于2009-11-14 18:53:53编辑过]
7、8楼的设计很好。但8楼自己设计EXCEL报表太多了——几乎一个表一个文件——不方便管理,建议将现有所有表集中在一个文件。
有这么麻烦吗?你按ctrl键的同时,选中各工作表的标签,点打印不就可以了吗?