以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]EXCEL报表直接打印  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=62130)

--  作者:李睿涵
--  发布时间:2014/12/25 21:05:00
--  [求助]EXCEL报表直接打印
要做基于excel模板的打印,但不希望用帮助里的代码,会打开excel的,希望能直接打印

我在论坛搜到一段代码:

Dim Book As New XLS.Book(ProjectPath & "Attachments\\订单.xls")
Dim file As String = ProjectPath & "Reports\\订单.xls"
Book.Build() \'生成细节区
Book.Save(file) \'保存工作簿


Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(file)
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
With Ws.PageSetup
    .
PaperSize = MSExcel.XlPaperSize.xlPaperA4   \'纸张大小
    .CenterHorizontally = True   \'页面水平居中
    .CenterVertically = True \'页面垂直居中
    .Zoom = False \'以下设置将缩印在一页内
    .FitToPagesWide = 1  \'按照1页的宽度打印
    .FitToPagesTall = 1  \'按照1页的高度打印
End With
App.Visible = True
Ws.PrintPreview
App.Visible=False
wb.save
wb.close
App.Quit



我是要在四联纸上打印(宽:24cm  高14cm)

要如何改红色部分的代码啊?


--  作者:有点甜
--  发布时间:2014/12/25 21:08:00
--  

 先要用代码给打印机添加一个自定义纸张,然后的都papersize,然后设置进去

 

http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=54472&replyID=&skin=1

 


--  作者:李睿涵
--  发布时间:2014/12/26 7:07:00
--  
甜版,程序我下载了,但不会用啊
是选了打印机,然后点“添加自定义纸张”吗?
我怎么点,弹出来的paperkind 都是157


图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2014/12/26 9:04:00
--  

 怎么简单还不会用就算了。

 

 自己看按钮的代码。

 

 添加纸张以后,得到的值,就设置进你的打印代码中去。


--  作者:李睿涵
--  发布时间:2014/12/26 10:30:00
--  
Dim cps As new CustomPaperSize.CustomPaperSize()
cps.SetPrintForm(e.Form.Controls("ComboBox1").Text,"我新增的自定义纸张", 100*38, 100*27)
msgbox("添加成功")

是改绿色的值吗?为何是2组数据?

--  作者:有点甜
--  发布时间:2014/12/26 10:37:00
--  
  是的啊,改纸张的尺寸就行了啊。
--  作者:李睿涵
--  发布时间:2014/12/26 14:47:00
--  
我把代码里绿色的值改为我自定义的:240*139,240*139
然后在下拉里选择我需要的打印机:doPDF v7
然后点获取值的按钮,没有任何反应
是我哪里没点对吗?

--  作者:有点甜
--  发布时间:2014/12/26 15:07:00
--  
  先添加纸张,才能获取纸张的值
--  作者:李睿涵
--  发布时间:2014/12/26 15:19:00
--  
我在添加自定义纸张的按钮里写了这些代码:

Dim cps As new CustomPaperSize.CustomPaperSize()
cps.SetPrintForm(e.Form.Controls("ComboBox1").Text,"我新增的自定义纸张", 240*139, 240*139)
msgbox("添加成功")

然后我在下拉里选择打印机:doPDF,然后点获取值的按钮 ,是这样操作吗?

--  作者:有点甜
--  发布时间:2014/12/26 15:22:00
--  

 1、代码

 

Dim cps As new CustomPaperSize.CustomPaperSize()
cps.SetPrintForm(e.Form.Controls("ComboBox1").Text,"我新增的自定义纸张", 100*240, 100*139)
msgbox("添加成功")
 
2、执行代码后,点获取