以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]excel 工作表批量打印问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=4982)

--  作者:pyh6918
--  发布时间:2009/11/14 15:29:00
--  [求助]excel 工作表批量打印问题
一个excel工作簿中有多个工作表模版,在生成新的工作簿时可一次性生成全部工作表。
用什么方法可以对这个新的工作簿中的工作表一次性全部打印。
我试了好几天,只能逐一生成,逐一打印,而且严重屏闪。
可能我学的时间短,没找到方法。
哪位有好的方法。
谢谢!

--  作者:yangming
--  发布时间:2009/11/14 15:47:00
--  
看来不行
--  作者:ssqq
--  发布时间:2009/11/14 16:09:00
--  

把模板合并成一个表试试,或者尝试专业报表


--  作者:pyh6918
--  发布时间:2009/11/14 16:17:00
--  

Excel文件,支持三个Verb动作:
Open: 打开,这也是默认的动作。
OpenAsReadOnly:以只读方式打开
Print:打印,完成打印后自动关闭

能不能这样:
proc.Verb = "open"(0)  \'打开第一个工作表
有没有这样类似的办法


--  作者:pyh6918
--  发布时间:2009/11/14 16:21:00
--  
以下是引用ssqq在2009-11-14 16:09:00的发言:

把模板合并成一个表试试,或者尝试专业报表

也是个办法
不过挺难的,有二十多张表,且表结构完全不同,合并起来要花点好时间。


--  作者:ssqq
--  发布时间:2009/11/14 16:27:00
--  
如果合并不行,就彻底拆分成独立的EXCEL表试试。
--  作者:yangming
--  发布时间:2009/11/14 16:59:00
--  
试试这样行不?  我家里没有打印机,无法试

Dim Book As New XLS.Book("c:\\aaa.xls") \'打开模板
Dim n As Integer
For n = 1 To 3
book.Sheets.SelectedIndex = n
Book.Save("c:\\aaa.xls") \'保存工作簿
Dim Proc As New Process \'打开工作簿
Proc.File = "c:\\aaa.xls"
Proc.Verb = "Print" \'指定动作
Proc.Start()
Next

--  作者:易服
--  发布时间:2009/11/14 18:49:00
--  

一次性全部打印按钮代码:
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编辑过]

--  作者:xl
--  发布时间:2009/11/14 20:44:00
--  

7、8楼的设计很好。但8楼自己设计EXCEL报表太多了——几乎一个表一个文件——不方便管理,建议将现有所有表集中在一个文件。


--  作者:擎天柱
--  发布时间:2009/11/14 20:50:00
--  
有这么麻烦吗?你按ctrl键的同时,选中各工作表的标签,点打印不就可以了吗?