Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共13 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:[求助]EXCEL报表打印的问题

1楼
t_fs 发表于:2009/4/21 10:45:00

EXCEL报表直接打印代码
Dim Proc As New Process
Proc.File = "C:\test.xls"
Proc.Verb = "Print" '指定动作
Proc.Start()


      以上是直接打印EXCEL报表的代码,如果稍加改动一下,改成先直接预览然后再打印。

     请高手帮助修改一下。谢谢!

[此贴子已经被作者于2009-4-21 10:45:43编辑过]
2楼
狐狸爸爸 发表于:2009/4/21 11:13:00
如果这样,删除
Proc.Verb = "Print" '指定动作

这样直接预览,如果想打印,再单击打印按钮。
3楼
yangming 发表于:2009/4/21 11:23:00
属性Verb可以设置打开的动作,不同的外部程序,支持的动作会不同,对于Excel文件,支持三个Verb动作:
Open: 打开,这也是默认的动作。
OpenAsReadOnly:以只读方式打开
Print:打印,完成打印后自动关闭
4楼
t_fs 发表于:2009/4/21 13:25:00
以下是引用狐狸爸爸在2009-4-21 11:13:00的发言:
如果这样,删除
Proc.Verb = "Print" '指定动作

这样直接预览,如果想打印,再单击打印按钮。

      删除    Proc.Verb = "Print"    后,并不是直接预览,而是打开文件。 
    
      正如yangming所述:

      Open: 打开,这也是默认的动作。


再请教一下yangming,我按如下代码测试,没有达到以只读方式打开的目的,难道代码不正确吗?

Dim Proc As New Process
Proc.File = "C:\test.xls"
Proc.Verb = "OpenAsReadOnly"      '指定动作
Proc.Start()

    谢谢回复!

5楼
shxiaoya 发表于:2009/4/21 13:40:00
 

Dim Book As New XLS.Book
Dim
Sheet As XLS.Sheet = Book.Sheets(0)
Sheet.Locked = True '禁止编辑
Book.Save(
"C:\test.xls") '保存工作簿
Dim
Proc As New Process '打开工作簿
Proc.File = "C:\test.xls"
Proc.Start()

6楼
yangming 发表于:2009/4/21 13:44:00
OpenAsReadOnly,这个没有达到目的,那是微软的问题,目前只能按五楼的代码处理只读的问题了
[此贴子已经被作者于2009-4-21 13:46:45编辑过]
7楼
t_fs 发表于:2009/4/21 14:19:00
以下是引用shxiaoya在2009-4-21 13:40:00的发言:
 

Dim Book As New XLS.Book
Dim
Sheet As XLS.Sheet = Book.Sheets(0)
Sheet.Locked = True '禁止编辑
Book.Save(
"C:\test.xls") '保存工作簿
Dim
Proc As New Process '打开工作簿
Proc.File = "C:\test.xls"
Proc.Start()

  谢谢回复!
  上述功能可以实现禁止编辑了,但它打开的不是原来已存在的电子表格文件,而是一个新建立的空白表格。
不知错在哪儿了?

8楼
狐狸爸爸 发表于:2009/4/21 14:24:00
以下是引用t_fs在2009-4-21 14:19:00的发言:

  谢谢回复!
  上述功能可以实现禁止编辑了,但它打开的不是原来已存在的电子表格文件,而是一个新建立的空白表格。
不知错在哪儿了?


你看看代码,这个代码就是新建一个Excel文件,并不是基于模板的。

9楼
blackzhu 发表于:2009/4/21 15:15:00
以下是引用t_fs在2009-4-21 14:19:00的发言:

  谢谢回复!
  上述功能可以实现禁止编辑了,但它打开的不是原来已存在的电子表格文件,而是一个新建立的空白表格。
不知错在哪儿了?

im Book As New XLS.Book(ProjectPath & "Attachments\模板.xls") '打开模板
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Book.Build() '生成细节区
Book.Save("D:\保存路径\reports\模板.xls") '保存工作簿
Dim Proc As New Process '打开工作簿
Proc.File = "D:\保存路径\reports\模板.xls"

Proc.Start()

10楼
yangming 发表于:2009/4/21 15:58:00
Dim Book As New XLS.Book(ProjectPath & "Attachments\出库单.xls") '打开模板
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Sheet.Locked = True '禁止编辑
Book.Build() '生成细节区
Book.Save("c:\reports\test.xls") '保存工作簿
Dim Proc As New Process '打开工作簿
Proc.File = "c:\reports\test.xls"
Proc.Start()
这样看看,你可以在范例中的:Excel报表.table中的命令窗口中测试此代码
共13 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .04688 s, 2 queries.