以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  不能设置类 PageSetup 的 PaperSize 属性  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=140993)

--  作者:llh0824
--  发布时间:2019/9/19 8:20:00
--  不能设置类 PageSetup 的 PaperSize 属性
使用的是Excel报表打印,连接打印机的电脑可以打印,使用共享连接打印机的电脑不能打印,代码如下:
Dim zzlx As String
Dim cps As new CustomPaperSize.CustomPaperSize()
cps.SetPrintForm(dyj.Text,"danju", 100*24, 100*14)
Dim prtdoc As new Printing.PrintDocument()
prtdoc.PrinterSettings.PrinterName = dyj.Text
For Each ps As System.Drawing.Printing.PaperSize In prtdoc.PrinterSettings.PaperSizes  \'生成打印机的纸张下拉列表
    If ps.PaperName = "danju"  Then    \'\'\'\' "我新增的自定义纸张" Then
        zzlx =  ps.RawKind
    End If
Next

If Relations.Contains("关联1") =False Then
    Relations.Add("关联1",t1.Table.DataTable.DataCols("单据编号"),t4.Table.DataTable.DataCols("单据编号"))
End If
Dim filter As String = "\'\',"
Dim fl As String
Dim Book As New XLS.Book(ProjectPath & "Attachments\\销售出库单.xls")
fl = ProjectPath & "Reports\\销售出库单.xls"
book.Sheets(0)(1,9).value = "单据编号 = \'" & t1.Table.Current("单据编号") & "\'"
Book.Build()
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)
With Ws.PageSetup
    MessageBox.Show(zzlx)
    .PaperSize = zzlx    \'\'\'\' MSExcel.XlPaperSize.xlPaperA4   \'纸张大小
    .Orientation = MSExcel.xlPageOrientation.xlPortrait  \'纵向打印
    \'.Orientation = MSExcel.xlPageOrientation.xlLandscape  \'横向打印
    .CenterHorizontally = True   \'页面水平居中
    .FitToPagesWide = 1  \'按照1页的宽度打印
End With
Ws.PrintOut(ActivePrinter:= dyj.Value )
wb.save
wb.close
App.Quit

(错误提示: 不能设置类 PageSetup 的 PaperSize 属性)

--  作者:有点蓝
--  发布时间:2019/9/19 10:05:00
--  
这个没有办法的:https://zhidao.baidu.com/question/374314098396452484.html