以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]打印 Papersize  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=100391)

--  作者:Carey
--  发布时间:2017/5/10 19:03:00
--  [求助]打印 Papersize
 .papersize=MSExcel.XlPaperSize.xlPaperEnvelopeB6

设置xlPaperA4  不报错,设置其他的纸张就报错,为啥呢,这个我
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20170510190403.png
图片点击可在新窗口打开查看
也没有自定义呀


--  作者:有点色
--  发布时间:2017/5/10 19:13:00
--  
 如果你的打印机服务没有启动,没有默认打印机,就会报这个错。
--  作者:有点色
--  发布时间:2017/5/10 19:13:00
--  

启动一下这个服务 http://jingyan.baidu.com/article/aa6a2c14d5137f0d4d19c45b.html

 


--  作者:Carey
--  发布时间:2017/5/11 10:42:00
--  回复:(有点色)启动一下这个服务 http://jingyan.ba...
服务一直都是启动的,还是会报错
--  作者:有点色
--  发布时间:2017/5/11 11:04:00
--  

 当你的默认打印机,没有对应的纸张设置的时候,也会报错的,比如


    .PaperSize = 999 \'纸张大小

 

 你试试动态加入纸张 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=54472&skin=0

 


--  作者:Carey
--  发布时间:2017/5/11 11:31:00
--  回复:(有点色) 当你的默认打印机,没有对应的...
我在打印机新建了一个100*100的标签,那我在设置paperSetup 的时候 papersize=?  应该怎么设置呢

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


--  作者:有点色
--  发布时间:2017/5/11 11:36:00
--  

这样获取

 

Dim prtdoc As new Printing.PrintDocument()
prtdoc.PrinterSettings.PrinterName = DefaultPrinter
For Each ps As System.Drawing.Printing.PaperSize In prtdoc.PrinterSettings.PaperSizes 

    output.show(ps.PaperName)
    If ps.PaperName = "100x 100" Then
        msgbox("paperkind = " & ps.RawKind )
    End If
Next

[此贴子已经被作者于2017/5/11 11:36:39编辑过]

--  作者:Carey
--  发布时间:2017/5/11 12:54:00
--  
我获取到了paperkind  为  289

设置 papersize =289  还是报不能设置属性

设置 paperkind  =289  报找不到属性paperkind  我是用 MSExcel



--  作者:Carey
--  发布时间:2017/5/11 12:55:00
--  回复:(有点色)这样获取 Dim prtdoc As ne...
我获取到了paperkind  为  289

设置 papersize =289  还是报不能设置属性

设置 paperkind  =289  报找不到属性paperkind  我是用 MSExcel

--  作者:Carey
--  发布时间:2017/5/11 13:08:00
--  
\'打印设置
Dim App As New MSExcel.Application
try
    Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(filePath)
    Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
    Dim PrintArea As String
    Dim LeftMargin As String
    Dim TopMargin As String
    
    With Ws.PageSetup
        .PrintArea=PrintArea   \'打印区域
        .BottomMargin=10
        .TopMargin=TopMargin \'上边距
        .LeftMargin=LeftMargin \'左边距
        .RightMargin=0
        \'.zoom=85 \'缩放打印
        .papersize =289    
    End With
    wb.saved = True  \'保存文件
    App.visible=True
    ws.printPreview
    \'Ws.PrintOut(Copies:=PrinterNum,ActivePrinter:=printer) \'指定打印机  Copies:=PrinterNum   指定打印数量
catch ex As exception
    msgbox(ex.message)
finally
    App.quit
End try


我是这样写的