crystal report是一个很不错的工具。

解决方案 »

  1.   

    用自己学语句
    printer对象哦
      

  2.   

    Printer.ScaleMode=6 '單位為毫米
    Printer.CurrentX=10  '在离打印起始點(10,29)處打印字符串,注意單位為毫米,
    Printer.CurrentY=29
    Printer.Print "打印到此處"
      

  3.   

        象楼上说的,scalemode设置打印时你用的单位
        scalewidth,scaleheight是打印机的按你单位出来的宽度和高度
      

  4.   

    Option Explicit
    Public rowlab As Integer
    Public PositionX As Integer
    Public PositionY As Integer'定義一個公用變量'---- 注: Prnt11函數原形:prnt11(X As Integer, Y As Integer, Font As Single, Txt As String, Val As Integer),其各參數含義如下:
    '
    '---- X、Y為待打印字符串左上角起始座標;
    '
    '---- Font為字体大小;
    '
    '---- Txt為待打印字符串;
    '
    '---- Val為字符串打印折行長度。Function prnt11(x As Integer, Y As _
    Integer, Font As Single, Txt As String, Val As Integer)
    Dim str As String, str1 As String, str2 As String, i As Integer
    Printer.CurrentX = x
    Printer.CurrentY = Y
    Printer.FontBold = False
    Printer.FontSize = Font
    str = Txt
    str2 = str
    i = 0
    rowlab = 0
    If Len(Trim(str)) = 0 Then
         rowlab = 1   '待打印字符串為空的標志
    Else
      Do While Len(str) > 0
         Printer.CurrentX = x
         Printer.CurrentY = Y + rowlab * 240
         rowlab = rowlab + 1
         If Len(str) >= Val Then
            str1 = Mid(str, 1, Val)
            Printer.Print str1
            i = i + 1
            str = Mid(str2, i * Val + 1)
         Else
           Printer.Print str
           Exit Do
         End If
       Loop
    End If
    End Function'---- 3. 在Project1中新建一個窗体Form1,窗体上添加一個Data控件Data1,一個MSFlexGrid控件MSFGrid1,7個TextBox和兩個命令按鈕CmdPrnt1、CmdPrnt2。設置Data控件的屬性:
    '
    '.. DatabaseName="Standards.mdb"
    '..RecordSourse="SN"
    '  MSFGrid1屬性:
           .DataSource = "Data1"
    '  Text1屬性:
           .DataSource = "Data1"
           .DataField = "標准號"
    '  Text2~Text7類同。
    '
    '---- CmdPrnt1、CmdPrnt2分別為打印單條記錄和多條記錄的按鈕。
    '
    '---- 實例1:文字串定位折行打印在口岸聯檢部門中應用非常廣泛。下述例子是用CmdPrnt1的Click事件代碼實現了對文字串定位折行打印:Private Sub CmdPrnt1_Click()
    Dim str As String, str1 As String, Txt As String
    Dim strx As Integer, stry As Integer, i As Integer
    strx = 200
    stry = 0
    Txt = Space(20) + "中國出入境檢驗檢疫標准目錄檢索STEMS 2000"
    Printer.FontName = "黑体"
    dd = prnt11(strx, stry, 10, Txt, 50)
    stry = stry + rowlab * 240
    Printer.Line (0, stry)-(9000, stry)
    Printer.FontName = "宋体"
    Txt = "標准號:" + Space(2) + Trim(Text1) + Space(3) + _
    "發布日期:" + Trim(Text4) + Space(3) + "實施日期:" _
    + Trim(Text6) + Space(3) + "修定日期:" + Trim(Text5) '+ Chr(13)
    stry = stry + 240
    dd = prnt11(strx, stry, 10, Txt, 70)
    stry = stry + rowlab * 240
    Txt = "代替標准:"
    dd = prnt11(strx, stry, 10, Txt, 10)
    dd = prnt11(strx + 1000, stry, 10, Trim(Text7), 60)
    stry = stry + rowlab * 240
    Txt = "標准名稱:"
    dd = prnt11(strx, stry, 10, Txt, 10)
    dd = prnt11(strx + 1000, stry, 10, Trim(Text4), 38)
    stry = stry + rowlab * 240
    Txt = "英文名稱:"
    dd = prnt11(strx, stry, 10, Txt, 10)
    dd = prnt11(strx + 1000, stry, 10, Text5, 72)
    Printer.EndDoc
    End Sub