VB的打印与链接
- 格式:doc
- 大小:100.00 KB
- 文档页数:13
VB打印功能全代码Private Sub Image5_Click() '打印报表Dim i As IntegerDim pageleft As IntegerDim pageheader As IntegerDim pagefooter As IntegerDim pageright As IntegerDim startx As IntegerDim starty As IntegerDim startline As IntegerDim endline As IntegerDim usewidth As IntegerDim useheight As Integer pageheader = 25pagefooter = 25pageleft = 20pageright = 20'定义纸张类型A4Printer.FontSize = 20Printer.PaperSize = 9Printer.ScaleMode = 6Printer.FontBold = FalsePrinter.ScaleLeft = -20Printer.ScaleTop = -25Printer.ScaleWidth = 210Printer.ScaleHeight = 297 usewidth = Printer.ScaleWidth - 40 useheight = Printer.ScaleHeight - 50Printer.CurrentX = 0Printer.CurrentY = 0Printer.DrawWidth = 2'打印主标题Printer.FontSize = 20Printer.CurrentX = (usewidth - Printer.TextWidth(Me.Text1.Text & "经济情况表")) / 2Printer.CurrentY = Printer.ScaleTopPrinter.Print Me.Text1.Text & "经济情况表"'打印空白行Printer.FontSize = 8Printer.CurrentX = (usewidth - Printer.TextWidth("")) / 2Printer.CurrentY = Printer.CurrentY + 1Printer.Print ""'打印副标题Printer.FontSize = 15Printer.CurrentX = (usewidth - Printer.TextWidth(commonth & "月份经济情况报表")) / 2Printer.CurrentY = Printer.CurrentY + 1Printer.Print commonth & "月份经济情况报表"'打印空白行Printer.FontSize = 8Printer.CurrentX = (usewidth - Printer.TextWidth("")) / 2Printer.CurrentY = Printer.CurrentY + 1Printer.Print ""'打印表的内容'首先打印第一条横线'打印最上边的第一条横线Printer.CurrentX = pageleft + Printer.ScaleLeftstartline = Printer.CurrentY + 1Printer.Line -((Printer.ScaleLeft + Printer.ScaleWidth - pageleft), Printer.CurrentY)Printer.FontSize = 12Printer.CurrentY = Printer.CurrentY + 1starty = Printer.CurrentYPrinter.CurrentX = ((Printer.ScaleWidth - 40) / 3 - Printer.TextWidth("")) / 2Printer.Print ""Printer.FontSize = 12Printer.CurrentX = usewidth / 3 + ((usewidth / 3 - Printer.TextWidth("今年经济情况")) / 2)Printer.CurrentY = startyPrinter.Print "今年经济情况(万元)"Printer.FontSize = 12Printer.CurrentX = (usewidth / 3) * 2 + ((usewidth / 3 - Printer.TextWidth("去年经济情况")) / 2)Printer.CurrentY = startyPrinter.Print "去年经济情况(万元)"Printer.CurrentX = pageleft + Printer.ScaleLeftPrinter.CurrentY = Printer.CurrentY + 1Printer.Line -((Printer.ScaleLeft + Printer.ScaleWidth - pageleft), Printer.CurrentY)Printer.CurrentY = Printer.CurrentY + 1For i = 0 To 10'判断是否该页已打满Me.MSFlexGrid1.Row = iIf Printer.CurrentY >= useheight Then'打印横线Printer.CurrentX = Printer.ScaleLeft + pageleftPrinter.Line -((Printer.ScaleLeft + Printer.ScaleWidth - pageleft), Printer.CurrentY)Printer.CurrentY = Printer.CurrentY + 1'打印四条竖线endline = Printer.CurrentYPrinter.Line (0, startline)-(0, endline)Printer.Line (usewidth / 3, startline)-(usewidth / 3, endline) Printer.Line ((usewidth / 3) * 2, startline)-((usewidth / 3) * 2, endline)Printer.Line (usewidth, startline)-(usewidth, endline)'打印页号Printer.CurrentX = (Printer.ScaleWidth - Printer.TextWidth(Printer.Page)) / 3 - pageleftPrinter.CurrentY = useheight + 3Printer.Print Printer.PagePrinter.NewPage 'NewPage告诉打印机,程序对当前输出页的发送已经结束。
VBA 中的文件打印与打印设置技巧在使用 Visual Basic for Applications(VBA)编程时,我们经常会遇到需要打印文件或设置打印参数的需求。
本文将介绍一些在 VBA 中实现文件打印和打印设置的技巧,帮助你更高效地处理打印任务。
一、文件打印技巧1. 打印当前活动工作簿如果你需要打印当前活动的工作簿,可以使用`ActiveWorkbook.PrintOut`方法。
该方法会直接打印整个工作簿,默认使用默认打印机和设置。
示例代码:```vbaSub PrintActiveSheet()ActiveWorkbook.PrintOutEnd Sub```2. 打印指定工作表如果你只想打印工作簿中的某个特定工作表,可以使用`Worksheets.PrintOut`方法。
该方法允许你指定打印范围、打印份数等参数。
示例代码:```vbaSub PrintSpecificSheet()Worksheets("Sheet1").PrintOut Copies:=2, Collate:=TrueEnd Sub```3. 打印指定区域有时候,你可能只需要打印工作表中的某个特定区域。
在这种情况下,可以使用`Range.PrintOut`方法。
该方法可以打印指定的区域,并允许你设置打印份数、打印方向等参数。
示例代码:```vbaSub PrintSpecificRange()Range("A1:D10").PrintOut Copies:=3, PrintOrientation:=xlLandscapeEnd Sub```二、打印设置技巧1. 设置打印区域通过设置打印区域,你可以控制打印的范围,避免不必要的打印内容。
在VBA 中,我们可以使用`PageSetup.PrintArea`属性来设置打印区域。
示例代码:```vbaSub SetPrintArea()ActiveSheet.PageSetup.PrintArea = "$A$1:$D$10"End Sub```2. 设置打印标题打印标题可以帮助你更好地标识打印的内容。
打印设置打印预览和预览控制器的实例效果图1:效果图2:提示:调试环境为vs2005 + windows2003 / windows2008 / xp / vista 代码如下:Public Class PrintFormDim pageset As Printing.PageSettings = New Printing.PageSettings()Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesButton1.ClickPageSetupDialog1.Document = PrintDocument1 ''设置Document属性=文档对象或者与PageSettings类关联就可以使用该控件PageSetupDialog1.AllowMargins = TruePageSetupDialog1.PageSettings = PrintDocument1.DefaultPageSettingsDim re As DialogResult = PageSetupDialog1.ShowDialog()If re = Windows.Forms.DialogResult.OK Thenpageset = PageSetupDialog1.PageSettingsEnd IfEnd SubPrivate Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e AsSystem.Drawing.Printing.PrintPageEventArgs)Dim mypen As Pen = New Pen(Color.Blue, 2)PrintDocument1.DefaultPageSettings = pagesete.Graphics.DrawString(RichTextBox1.Text, New Font("黑体", 15), mypen.Brush, 10, 10)End SubPrivate Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesButton3.ClickPrintDialog1.Document = PrintDocument1PrintDialog1.PrinterSettings.Copies = 5 ''打印的份数PrintDialog1.PrinterSettings.FromPage = 1 ''第一页的页码PrintDialog1.PrinterSettings.ToPage = 5 ''最后一页页码Dim re As DialogResult = PrintDialog1.ShowDialog()If re = Windows.Forms.DialogResult.OK ThenAddHandler PrintDocument1.PrintPage, AddressOf Me.PrintDocument1_PrintPagePrintDocument1.Print()End IfEnd Sub '更多.net源码和教程,来自[乐博网]Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesButton4.ClickPrintPreviewDialog1.Document = PrintDocument1AddHandler PrintDocument1.PrintPage, AddressOf Me.PrintDocument1_PrintPagePrintPreviewDialog1.PrintPreviewControl.Zoom = 1.0PrintPreviewDialog1.WindowState = FormWindowState.NormalPrintPreviewDialog1.ShowDialog()End SubPrivate Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.ClickDim PrintPreviewControl1 As PrintPreviewControl = New PrintPreviewControl = "PrintPreviewControl1"PrintPreviewControl1.Dock = DockStyle.FillPrintPreviewControl1.Document = PrintDocument1eAntiAlias = TrueAddHandler PrintDocument1.PrintPage, AddressOf Me.PrintDocument1_PrintPageForm1.Controls.Add(PrintPreviewControl1)PrintPreviewControl1.Show()Form1.Show()End SubEnd Class。
VBNET如何实现打印兄弟,下面的代码你可以参考,是......兄弟,下面的代码你可以参考,是鄙人的一个项目摘录,希望能给你提供帮助。
Imports ExcelPublic Class PinholeReportPrivate pnhExcel As Excel.Application ' 针孔报表 EXCEL 对象Private pnhWorkBook As Excel.WorkbookPrivate pnhWorkSheet As Excel.WorksheetPublic PinholeReortExcelFileName As String = Environment.CurrentDirectory & "\针孔报表.XLS"Public ExcelVisible As Boolean = FalsePublic Sub New()pnhExcel = New Excel.Application()pnhExcel.WindowState = Excel.XlWindowState.xlMinimized pnhExcel.Visible = ExcelVisiblepnhWorkBook = pnhExcel.Workbooks.Open(PinholeReortExcelFileName) pnhWorkSheet = pnhWorkBook.Sheets("针孔报表")End SubProtected Overrides Sub Finalize()If Not pnhExcel Is Nothing ThenpnhWorkBook.Close(False)pnhExcel.Quit()pnhWorkSheet = Nothing : pnhWorkBook = Nothing : pnhExcel = NothingEnd IfMyBase.Finalize()End Sub' 针孔报表打印Public Function PinholeReport_Print(ByVal thePinhole As clsGroupPinholeData) As StringDim strError As String = Nothing ' 错误串'====================================== ======================================== TryDim i, j As Integer' 刷新针孔报表pnhWorkSheet.Cells(1, 4) = thePinhole.CoilIDpnhWorkSheet.Cells(2, 4) = thePinhole.WeightpnhWorkSheet.Cells(3, 4) = thePinhole.ThickpnhWorkSheet.Cells(4, 4) = thePinhole.WidthpnhWorkSheet.Cells(5, 4) = thePinhole.DesignedTopCoatWeightpnhWorkSheet.Cells(6, 4) = thePinhole.DesignedBotCoatWeightpnhWorkSheet.Cells(7, 4) = thePinhole.StartTimepnhWorkSheet.Cells(8, 4) = thePinhole.EndTimeFor i = 0 To 49pnhWorkSheet.Cells((i \ 5) + 12, ((i Mod 5) * 2 + 1) + 1) = thePinhole.StartPos(i + 1)pnhWorkSheet.Cells((i \ 5) + 12, ((i Mod 5) * 2 + 2) + 1) = thePinhole.EndPos(i + 1)Next' 报表打印pnhWorkSheet.PrintOut()'pnhWorkSheet.PrintPreview()Catch ex As ExceptionstrError = "针孔报表打印错误!" & vbCrLf & ex.Message & vbCrLf & ex.StackTrace End TryReturn strErrorEnd FunctionEnd Class上面,鄙人使用了一个内部类clsGroupPinholeData以提供数据,当然你必须修改以使用你的Datatable数据。
vb窗体数据写入模版打印窗体数据写入模版打印是一项在VB窗体应用程序中常见的任务。
通过将窗体中的数据写入模版,可以生成符合特定格式和布局要求的打印文件。
本文将介绍如何使用VB窗体实现数据写入模版打印,并探讨该技术的实际应用。
我们需要创建一个VB窗体应用程序,并添加必要的控件和代码。
假设我们的窗体中包含一些文本框和标签控件,用于输入和显示数据。
我们的目标是将这些数据写入到一个预定义的模版中,并将模版打印输出。
在VB窗体应用程序中,可以使用PrintDocument对象来实现打印功能。
首先,我们需要在窗体中添加一个PrintDocument控件,并设置其相关属性,如打印机名称、页面大小和页面边距等。
然后,在代码中编写PrintDocument的PrintPage事件处理程序,用于绘制打印页面的内容。
在PrintPage事件处理程序中,我们可以使用Graphics对象的DrawString方法来绘制文本。
可以根据需要设置文本的字体、大小、颜色和位置等属性。
此外,还可以使用Graphics对象的其他方法和属性来实现更复杂的绘图效果,如绘制线条、矩形和图形等。
对于数据写入模版的实现,我们可以将模版设计为一个文本文件,其中包含预留的位置用于插入数据。
在PrintPage事件处理程序中,可以读取模版文件的内容,并使用String.Format方法将数据插入到相应的位置。
例如,可以使用{0}、{1}等占位符表示数据应插入的位置,然后使用String.Format方法将实际数据替换占位符。
除了基本的数据插入功能,还可以根据实际需求扩展模版的功能。
例如,可以设计模版包含表格、图表或其他复杂的布局。
在PrintPage事件处理程序中,可以根据模版的结构和布局来绘制相应的内容。
在实际应用中,窗体数据写入模版打印可以应用于各种场景。
例如,可以使用该技术生成报告、发票、合同等文档。
通过将数据写入模版,可以确保生成的文档符合特定的格式和布局要求,提高文档的可读性和专业性。
vb 打印实例-概述说明以及解释1.引言1.1 概述在VB中,打印是一项常见的功能需求,通过打印可以将软件中的数据输出到纸张上,使得用户能够方便地查看和保存信息。
本文将介绍VB 中的打印功能,并通过实例演示和分析来帮助读者更好地理解和应用这一功能。
在VB中,打印功能的实现主要通过使用PrintDocument组件来完成,PrintDocument组件可以方便地控制打印输出的内容和样式。
通过设置PrintDocument的PageSettings属性和PrintPage事件来指定打印页面的设置和内容。
另外,也可以使用PrintPreviewDialog组件来提供打印预览的功能,使得用户可以在打印前预览输出的效果,从而调整需要打印的内容和格式。
本文将通过实例演示和分析来介绍如何在VB中实现打印功能,希望能帮助读者更加深入地了解和掌握这一重要的功能。
文章结构部分主要包括文章的大致组织和内容安排,旨在帮助读者更好地理解整篇文章的逻辑结构。
本文的文章结构如下:1. 引言1.1 概述:介绍VB打印功能的重要性和应用背景1.2 文章结构:介绍本文的大纲和各部分内容安排1.3 目的:阐明撰写本文的意义和目的2. 正文2.1 VB打印功能介绍:详细介绍VB语言中的打印功能的基本原理和特点2.2 VB打印实例演示:通过具体的实例演示,展示VB打印功能的具体应用和使用方法2.3 VB打印实例分析:对演示的实例进行分析和总结,深入探讨其应用场景和优势特点3. 结论3.1 总结:对整篇文章进行总结,强调VB打印功能的重要性和价值3.2 应用推广:探讨VB打印功能在实际应用中的推广和发展前景3.3 展望:展望未来VB打印功能的发展方向和潜力通过以上结构,读者可以清晰地了解本文的逻辑结构和内容安排,有助于他们更好地理解和消化文章所传达的信息。
1.3 目的:本文的目的在于介绍如何在VB(Visual Basic)中使用打印功能,并通过实例演示和分析,帮助读者更好地了解如何在自己的程序中实现打印功能。
VB的几种打印方法王英红【期刊名称】《电脑采购》【年(卷),期】2001(000)017【摘要】<正> 1.采用Visual Basic提供的简单打印函数PrintForm方法。
应用程序窗体的PrintForm方法时,Visual Basic把窗体的位图送到当前打印机。
该方法的优点在于它几乎不需要任何编程,但也有很大缺陷。
下面代码将在打印机上打印窗体。
Private Sub Commandl_Click()'用PrintForm打印Me.PrintForm'打印窗体的可见区域 End Sub 2.用Printer对象进行高分辨率输出。
但要想产生复杂的打印输出,编程较为烦琐。
Printer对象代表系统缺省的打印机,Printer对象支持许多由窗体和图形框所支持的属性和方法,三种对象都有画线和画方框。
应用程序可用以下代码在Printer对象上画出一平方英寸的方框。
它离左上角二英寸。
注意:打印机以twips来测量距离。
每英寸有1440个twips。
Printer.Line(2*1440,2*1440)-Step(1440,1440),B打印机、从窗体和图形框都有【总页数】1页(P15-15)【作者】王英红【作者单位】【正文语种】中文【中图分类】F764.6【相关文献】1.基于VB/Excel的数据报表生成及打印功能实现方法 [J], 杨晓春;丁一2.用Excel统计完学生考试成绩后,许多教师一般是用编写VBA程序或录制宏的办法来给每位学生打印成绩条,但非常麻烦,能用简单的方法打印吗? [J], 吕维智3.用.NET和VBA实现表单动态打印管理的方法 [J], 王象刚;李金凤4.WinCC中基于C-Script和VBS的搜索打印方法 [J], 周杰;潘宏侠5.PC-PR201DC打印机的几种特殊打印控制方法 [J], 谢丁丁因版权原因,仅展示原文概要,查看原文内容请购买。
VB环境下打印机的控制VB提供了两种方式的打印控制。
一种是通过打印机驱动程序,以页为基本打印单位,实现高精度打印字符、图形、图像、表格等。
另一种是直接向打印机发送数据,以行为单位实现高速字符打印,此法还能通过发送控制指令对打印机实现完全的控制。
一、通过驱动程序控制打印这是最常用的方式,因为与打印机无关,所以适应于任何类型的打印机。
㈠使用Printer对象Printer对象是一个独立于打印机设备的封装,它可以代表不同的打印机,初始时,Printer对象为系统缺省的打印机,Printer对象具备例如:ColorMode、Copies、Duplex、Printquality等控制打印机特征的属性,提供了Newpage、EndDoc、KillDoc等控制打印过程的方法,以及大多数由窗体和图片框控件提供的图形属性和方法如:Currentx、Currenty、Textwidth、Textheight、Print、Pset、Line、PaintPicture和Circle等方法,它还拥有Font的所有属性。
实现高分辨率的打印就是通过控制Printer对象的上述属性和方法完成的。
1.打印机的设置若系统有多个打印机驱动,如果打印时没指定打印机,则选默认打印机。
如果要用非默认打印机,可用Set Printer=Printers(N)来实现。
2.打印纸张的定义纸张的大小用Printer的PaperSize属性,但设置的纸张必须打印机支持,故最好设普遍使用的纸张,如A4等。
纸张的方向用Printer的Orientation属性, 0为横向,1为纵向。
纸张尺寸的计量单位用Printer的ScaleMode属性来设置。
下面的代码就是将纸张设为A4纵向、以毫米为计量单位。
Printer.PaperSize = vbPRPSA4Printer.Orientation = 1Printer.ScaleMode = vbMillimeters3.分页控制Printer对象进以页为基本单位,分页控制可用Printer 对象的NewPage(打印新的一页,CurrentX、CurrentY置为新页的左上角,可完成多页功能。
VB的几种打印方法我们编程时,如果在程序中加入“打印”功能会使程序更加完善,更加专业。
下面,我提供几种编写打印程序的方法以供大家参考。
1. 采用Visual Basic提供的简单打印函数PrintForm方法应用程序窗体的PrintForm方法时Visual Basic把当前窗体的位图送到打印机。
该方法的优点在于它几乎不需要任何编程但也有很大缺陷。
最为突出的是当低分辨率图形在高分辨率打印机上打印时其结果令人无法满意会产生锯齿。
代码如下:Private Sub Command1_Click '用PrintForm打印Me.PrintForm '打印窗体的可见区域End Sub2. 用Printer对象要想产生复杂的打印输出编程较为烦琐。
Printer对象代表系统缺省的打印机Printer对象支持许多由窗体和图形框所支持的属性和方法三种对象都有画线和画方框。
应用程序可用以下代码在Printer对象上画出1平方英寸的方框。
注意打印机以twips来测量距离。
每英寸有1440个twips。
Printer.Line2144021440-Step14401440 B打印机、从窗体和图形框都有Circle、PaintPicture、Print、Pset、TextHeight、TextWidth方法。
使用这些方法应用程序可以为打印机生成高分辨率输出。
打印文本直接用Print方法,见下列代码:Printer.Print "Hello China ComputerWorld" '打印字符串Printer对象还有一些窗体和图形框都没有方法NewPage告诉打印机程序对当前输出页的发送已经结束Printer对象应开始新的一页。
EndDoc告诉VB程序创建文档结束VB应将它发送到物理打印机上打印。
KillDoc取消当前打印作业。
应用程序应该终止由EndDoc和KillDoc所设定的每个打印作业。
VB的几种打印方法我们编程时,如果在程序中加入“打印”功能会使程序更加完善,更加专业。
下面,我提供几种编写打印程序的方法以供大家参考。
1. 采用Visual Basic提供的简单打印函数PrintForm方法应用程序窗体的PrintForm方法时Visual Basic把当前窗体的位图送到打印机。
该方法的优点在于它几乎不需要任何编程但也有很大缺陷。
最为突出的是当低分辨率图形在高分辨率打印机上打印时其结果令人无法满意会产生锯齿。
代码如下:Private Sub Command1_Click '用PrintForm打印Me.PrintForm '打印窗体的可见区域End Sub2. 用Printer对象要想产生复杂的打印输出编程较为烦琐。
Printer对象代表系统缺省的打印机Printer对象支持许多由窗体和图形框所支持的属性和方法三种对象都有画线和画方框。
应用程序可用以下代码在Printer对象上画出1平方英寸的方框。
注意打印机以twips来测量距离。
每英寸有1440个twips。
Printer.Line2144021440-Step14401440 B打印机、从窗体和图形框都有Circle、PaintPicture、Print、Pset、TextHeight、TextWidth方法。
使用这些方法应用程序可以为打印机生成高分辨率输出。
打印文本直接用Print方法,见下列代码:Printer.Print "Hello China ComputerWorld" '打印字符串Printer对象还有一些窗体和图形框都没有方法NewPage告诉打印机程序对当前输出页的发送已经结束Printer对象应开始新的一页。
EndDoc告诉VB程序创建文档结束VB应将它发送到物理打印机上打印。
KillDoc取消当前打印作业。
应用程序应该终止由EndDoc和KillDoc所设定的每个打印作业。
Zoom属性用于定义打印输出的缩放因子。
Copies属性用于定义打印的副本数目。
3. 如果你在编程时用到了RichTextBox控件那么你可以使用该控件的SelPrint 方法来打印代码如下:Private Sub Command3_Click 'SelPrint方法CommonDialog1.Flags=cdlPDReturnDC+cdlPDNoPageNumsIf RTF1.SelLength = 0 Then 'RTF1为窗体的RichTextBox控制CommonDialog1.Flags = CommonDialog1.Flags+ cdlPDAllPagesElseCommonDialog1.Flags = CommonDialog1.Flags+ cdlPDSelectionEnd IfCommonDialog1.CancelError = TrueOn Error Resume NextCommonDialog1.ShowPrinterIf Err.Number = cdlCancel Then Exit SubIf Err.Number <> 0 ThenBeepMsgBox "Error printing file." & vbCrLf + Err.Description vbOKOnly +vbExclamation "Printing Error" Exit SubEnd IfPrinter.Print ""RTF1.SelPrint CommonDialog1.hDC '打印RTF1控件的可见区域End Sub上面代码先进行打进设置再进行打印。
如果不需要设置采用下面代码更为简单RTF1.SelPrint Printer.hDC '打印RTF1控件的可见区域4.可以在VB中调用Word 97提供的OLE自动化服务利用Word 97强大的打印功能来完成VB打印代码如下:Private Sub Command4_Click '调用Word打印Dim objWord As ObjectConst CLASSOBJECT = "Word.Application"On Error GoTo objErrorSet objWord = CreateObject CLASSOBJECTobjWord.Visible = TrueobjWord.Documents.AddWith objWordst.Range.Bold = Falsest.Range.Font.Size =20 = "黑体"st.Range.Font.ColorIndex==4st.Range.Text = "我是计算机世界读者"End WithClipboard.ClearClipboard.SetText "通过剪切板向WORD传送数据"objWord.Selection.PasteobjWord.PrintPreview = True '预览方式'objWord.PrintOut'执行打印'objWord.Quit'退出WordExit SubobjErrorIf Err <> 429 ThenMsgBox Str$Err & Error$Set objWord = Nothing '不能创建Word对象则退出Exit SubElseResume NextEnd IfEnd SubVB打印设置问题2007-12-9 12:57提问者:988510622|浏览次数:1504次请认真看完谢谢!我的提问:我写了一个VB的记事本可以自定义字号的大小比如H2O"H"是12号"2"是8号"0"是12号可以在记事本上正常显示出来可是打印时却是统一的大小谁能写出解决的源码?确认可用后我给300分!我的源码是:Private Sub Command1_Click()Dim HWidth, HHeight, I, Msg ' 声明变量。
On Error GoTo ErrorHandler ' 设置错误处理程序。
For I = 1 To 1 ' 设置1 个迭代。
Printer.Font.Size = 10HWidth = 300HHeight = 200Printer.CurrentX = Text3.TextPrinter.CurrentY = Text5.TextPrinter.Print 文本内容.Text ' 打印文本内容。
个人认为是:Printer.Font.Size = 10这里的问题!请高手指点!朋友的回答:要打印多种字号,而程序中只设置了一种字号:10,所以打印出来当然是同一大小的了如果要打印不同字号,那就要对每个字符设置不同的字号在你写的程序的基础上再加上字符分割和字号设置for j=1 to len(文本内容.text)printer.font.size=inputbox("输入第" & j & "个字符的字号")printer.print mid(文本内容,j,1);next j这个程序实现了你要的功能,但是有些麻烦,因为打印的时候每个字的字号都需要输入,你可以根据这个修改一下,比如用一个数组保存每个字符的字号,这样就很方便的实现了你的功能可是定义这个数组我不会谁能帮帮我谢谢请写出详细的源代码注:不要RichTextBox的打印方法.满意回答Printer.Font.Size = 10 是这里有问题..你以经知道啦.所有要想改变打印时的字体就把这个去掉..然后定义..变量..让Printer.Font.Size等于你变义的变量...这样就可以成功啦..也可以这样...下拉框=Printer.Font.Size然后在写拉框里写入字号...或者用text也可以..详细的代码..太多..很麻烦..抱歉..VB打印设置的一些摘要Posted on 2005-08-03 08:54 Randy阅读(1424) 评论(0)编辑收藏尺寸:直接设置打印机Height 和Width 属性,会自动地将PaperSize 设置为vbPRPSUser。
Printer.Height=10*567Printer.Width=5*567Printer.ScaleWidth = 210Printer.ScaleHeight = 297Printer.ScaleMode = 6 '设置打印的单位Printer.PaperSize = vbPRPSA4 '定义纸张大小为A4Printer.FontSize = 11'如何用printer设置打印方向为横向打印---------------------------------------------------------------Printer.Orientation=VbPRORPortrait'纵向打印Printer.Orientation=VbPRORLandscape'横向打印---------------------------------------------------------------Printer.Orientation = VbPRORLandscape---------------------------------------------------------------Printer.Orientation = 2'设置打印页边距'你可以使用打印机的Scale属性来设置打印页边距。
下面的代码设置左边距为1/2英寸。
右边距为3/4英寸。
乘以1440是将英尺转换成twips。
Printer.ScaleLeft = -0.75 * 1440Printer.ScaleTop = -0.5 * 1440Printer.CurrentX = 0Printer.CurrentY = 0缇是一个与屏幕无关的单位,用来保证屏幕应用程序对屏幕元素的定位和比例在所有的显示系统上的一致性。
一缇等价于1/20 个打印机的磅。
一逻辑英寸大约有1440 缇,一逻辑厘米约567 缇(打印时的一英寸或一厘米所对应的屏幕上的长度)。
Option ExplicitPrivate Sub Command1_Click()' 错误捕捉,如果计算机没有设置好打印机则' 显示错误提示"打印机尚未就绪,请准备好打印机!"On Error GoTo P1Dim I As Integer, K As IntegerDim M As Integer, N As IntegerDim X1() As String, X2() As Integer, X3() As IntegerDim A As String, B As Integer, C As IntegerDim Y As Single, Dy As SingleDim X As Single, Dx As SingleDim Page As Integer' 由于需要分页打印,这样将数据存入数组在后面的处理上就比较方便。