以文本方式查看主题 - 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=187340) |
-- 作者:rgbjwjb -- 发布时间:2023/7/10 19:25:00 -- 打印完成后如何关掉Excel应用 我在“录入窗体”上增加了一个打印按钮,该按钮的功能是打印Excel报表; 我遇到的问题是:每次打印后需要手工关掉excel(打印Word报表时也一样); 我想请教的是---可否通过代码实现打印完成后自动关掉Excel,直接回到“录入窗体”的界面? 请指教,谢谢!
|
-- 作者:有点蓝 -- 发布时间:2023/7/10 20:38:00 -- 使用vba打印:http://www.foxtable.com/webhelp/topics/2121.htm 比如: Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("c:\\123.doc") Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1) wb.saved = True App.DisplayAlerts = False App.Visible = False Ws.PrintOut(Preview:=False) \'直接打印; Wb.Close App.Quit |
-- 作者:rgbjwjb -- 发布时间:2023/7/11 10:02:00 -- Dim App As New MSExcel.Application Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("ProjectPath & \'Attachments\\预算申请单模板.xls\'") Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1) Wb.Build() Wb.saved = True App.DisplayAlerts = False App.Visible = False Ws.PrintOut(Preview:=False) Wb.Close App.Quit 利用上述代码能够实现打印,但在关闭EXCEL前还有提示:是否对工作簿的保存?只有选择后才能关闭,这样才能关闭此对话框?
|
-- 作者:有点蓝 -- 发布时间:2023/7/11 10:10:00 -- 这种代码能够执行?!!Build是XLS.Book的功能,不是vba的。XLS.Book和vba的MSExcel.Application是两种完全不一样的功能,不要乱套。如果要先生成模板,参考 Dim Book As New XLS.Book(ProjectPath & "Attachments\\出库单.xls") Dim fl As String = ProjectPath & "Reports\\出库单.xls" Book.Build() \'生成细节区 Book.Sheets(0).Rows.RemoveAt(0) \'删除第一行,Excel报表的第一行通常是标记行 Book.Save(fl) \'保存工作簿 Dim App As New MSExcel.Application Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl) Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1) wb.saved = True App.DisplayAlerts = False App.Visible = False Ws.PrintOut(Preview:=False) \'直接打印; Wb.Close App.Quit |