这是本人的代码:   
    Printer.ScaleMode = vbMillimeters
    Printer.Orientation = 1
    Printer.ScaleHeight = m_nHeight           '设置高度
    Printer.ScaleWidth = m_nWidth            '设置宽度
    
    Printer.ScaleTop = m_nOffsetCol
    Printer.ScaleLeft = m_nOffsetRow
'以下是要打印的内容
    nCount = ArrayLength(szArray)
    For i = 1 To nCount
        If Val(m_aszSorted(i, 7)) = 1 Then '需要打印
            Printer.CurrentX = Val(szArray(i, 2))
            Printer.CurrentY = Val(szArray(i, 3))
            'Printer.FontBold = IIf(Val(szArray(i, 9)) = 1, True, False)
            'Printer.FontItalic = IIf(Val(szArray(i, 10)) = 1, True, False)
            Printer.FontSize = Val(szArray(i, 5))
            'Printer.FontName = Val(szArray(i, 8))
            If Len(szArray(i, 4)) > Val(szArray(i, 6)) Then
                Printer.Print Left(szArray(i, 4), Val(szArray(i, 6)))
            Else
                Printer.Print szArray(i, 4)
            End If
        End If
    Next i
    Printer.EndDoc '打印结束问题:
Printer.ScaleHeight = m_nHeight这个高度不是走纸的高度吗?
现在想要实现打印好后打印机自动切纸,高度为我设置的高度。
还有我问了下,可以不装驱动直接写代码来打印吗?望各位高手指教,最好有代码!

解决方案 »

  1.   

    不装驱动直接写代码来打印,那是不可能的,最起码要装兼容的通用打印驱动(比如很多针打兼容lq1600k)才行啊。
    走纸的高度要去控制默认打印机的纸张尺寸,而且只有针打可以,Printer.ScaleHeight是控制不了的。
      

  2.   

    谢Fanks(铁面人) 的回复,但不装驱动也是可以直接写的,那就是用mscomm1控件。可能驱动打印速度比不装直接打印慢。
    再此向各位高手求救