Option Explicit Private y As Integer Private x As Integer Private j As Integer Private txt As String Private fnt As Single Private dd As Variant Const bl = 567 '1厘米=576缇 '打印函数 Public Function prnt(x As Integer, y As Integer, fnt As Single, txt As String) Printer.CurrentX = x Printer.CurrentY = y Printer.FontSize = fnt Printer.Print txt End FunctionPrivate Sub Command1_Click() fnt = 20 '字号 x = 8 * bl '横向离左8厘米 y = 2.5 * bl '纵向离上2.5厘米 txt = "各位能说说思路或是给出代码好吗?" '打印内容 dd = prnt(x, y, fnt, txt) '调用打印函数 Printer.EndDoc End Sub
Private y As Integer
Private x As Integer
Private j As Integer
Private txt As String
Private fnt As Single
Private dd As Variant
Const bl = 567 '1厘米=576缇
'打印函数
Public Function prnt(x As Integer, y As Integer, fnt As Single, txt As String)
Printer.CurrentX = x
Printer.CurrentY = y
Printer.FontSize = fnt
Printer.Print txt
End FunctionPrivate Sub Command1_Click()
fnt = 20 '字号
x = 8 * bl '横向离左8厘米
y = 2.5 * bl '纵向离上2.5厘米
txt = "各位能说说思路或是给出代码好吗?" '打印内容
dd = prnt(x, y, fnt, txt) '调用打印函数
Printer.EndDoc
End Sub
Dim dblNormY As Double
Private Sub Command1_Click()
Printer.ScaleMode = vbMillimeters
dblNormX = 10
dblNormY = 20
s_PrintString "Title", 22, 10, 30, "黑体", True
s_PrintString "aaaaaaaaaaaaaaaaaa", 16, 5, 50
Printer.EndDocEnd SubPrivate Sub s_PrintString(ByVal strPrintString As String, ByVal intFontSize As Integer _
, ByVal dblCurrentX As Double, ByVal dblCurrentY As Double _
, Optional strFontName As String = "宋体", Optional blnFontBold As Boolean = False _
, Optional blnFontItalic As Boolean = False)
Printer.FontName = strFontName
Printer.FontSize = intFontSize
Printer.FontItalic = blnFontItalic
Printer.FontBold = blnFontBold
Printer.CurrentX = dblCurrentX + dblNormX
Printer.CurrentY = dblCurrentY + dblNormY
Printer.Print strPrintStringEnd Sub
楼主的要求应该属于套打,建义用Printer....
Dim dblNormY As Double
Private Sub Command1_Click()
Printer.ScaleMode = vbMillimeters '按mm计算打印位置
'打印机品牌多,而且有的时候与系统也有关系,设置打印位置初始值,方便调节
dblNormX = 10 '横向打印调节值
dblNormY = 20 '竖向打印调节值
s_PrintString "Title", 22, 10, 30, "黑体", True
s_PrintString "aaaaaaaaaaaaaaaaaa", 16, 5, 50
Printer.EndDoc '实施打印End SubPrivate Sub s_PrintString(ByVal strPrintString As String, ByVal intFontSize As Integer _
, ByVal dblCurrentX As Double, ByVal dblCurrentY As Double _
, Optional strFontName As String = "宋体", Optional blnFontBold As Boolean = False _
, Optional blnFontItalic As Boolean = False)
Printer.FontName = strFontName '控制字体
Printer.FontSize = intFontSize '控制字体大小
Printer.FontItalic = blnFontItalic '控制是否斜体
Printer.FontBold = blnFontBold '控制是否粗体
Printer.CurrentX = dblCurrentX + dblNormX '控制横向打印位置
Printer.CurrentY = dblCurrentY + dblNormY '控制竖向打印位置
Printer.Print strPrintString '打印字符串End Sub