📄 jinbin.bas
字号:
inth = 71.5
jb = Trim(.Fields!ph15.Value)
If Len(jb) > 45 Then
intx = 60 + ((50 - Len(jb)) / 2)
Printer.Font.Size = 6
jb1 = Left(jb, 15)
jb2 = Mid(jb, 17, 15)
jb4 = Right(jb, 15)
Printer.CurrentX = intx
Printer.CurrentY = intw
Printer.Print jb1
Printer.CurrentX = intx
Printer.CurrentY = intz
Printer.Print jb2
Printer.CurrentX = intx
Printer.CurrentY = inth
Printer.Print jb4
ElseIf Len(jb) > 15 Then
intx = 47 + ((50 - Len(jb)) / 2)
Printer.Font.Size = 8
jb1 = Left(jb, 15)
jb2 = Right(jb, 15)
intw = 67.5
intz = 71
Printer.CurrentX = intx
Printer.CurrentY = intw
Printer.Print jb1
Printer.CurrentX = intx
Printer.CurrentY = intz
Printer.Print jb2
Else
intx = 41 + ((50 - Len(jb) * 2) / 2)
Printer.Font.Size = 12
Printer.CurrentX = intx
Printer.CurrentY = inty
Printer.Print jb
End If
'打印20元票起始票号
inty = 75.5
intw = 74
intz = 76.2
inth = 78.5
jb = Trim(.Fields!ph20.Value)
If Len(jb) > 45 Then
intx = 60 + ((50 - Len(jb)) / 2)
Printer.Font.Size = 6
jb1 = Left(jb, 15)
jb2 = Mid(jb, 17, 15)
jb4 = Right(jb, 15)
Printer.CurrentX = intx
Printer.CurrentY = intw
Printer.Print jb1
Printer.CurrentX = intx
Printer.CurrentY = intz
Printer.Print jb2
Printer.CurrentX = intx
Printer.CurrentY = inth
Printer.Print jb4
ElseIf Len(jb) > 15 Then
intx = 47 + ((50 - Len(jb)) / 2)
Printer.Font.Size = 8
jb1 = Left(jb, 15)
jb2 = Right(jb, 15)
intw = 74.5
intz = 78
Printer.CurrentX = intx
Printer.CurrentY = intw
Printer.Print jb1
Printer.CurrentX = intx
Printer.CurrentY = intz
Printer.Print jb2
Else
intx = 41 + ((50 - Len(jb) * 2) / 2)
Printer.Font.Size = 12
Printer.CurrentX = intx
Printer.CurrentY = inty
Printer.Print jb
End If
'打印30元票起始票号
inty = 82.5
intw = 81
intz = 83.2
inth = 85.5
jb = Trim(.Fields!ph30.Value)
If Len(jb) > 45 Then
intx = 60 + ((50 - Len(jb)) / 2)
Printer.Font.Size = 6
jb1 = Left(jb, 15)
jb2 = Mid(jb, 17, 15)
jb4 = Right(jb, 15)
Printer.CurrentX = intx
Printer.CurrentY = intw
Printer.Print jb1
Printer.CurrentX = intx
Printer.CurrentY = intz
Printer.Print jb2
Printer.CurrentX = intx
Printer.CurrentY = inth
Printer.Print jb4
ElseIf Len(jb) > 15 Then
intx = 47 + ((50 - Len(jb)) / 2)
Printer.Font.Size = 8
jb1 = Left(jb, 15)
jb2 = Right(jb, 15)
intw = 81.5
intz = 85
Printer.CurrentX = intx
Printer.CurrentY = intw
Printer.Print jb1
Printer.CurrentX = intx
Printer.CurrentY = intz
Printer.Print jb2
Else
intx = 41 + ((50 - Len(jb) * 2) / 2)
Printer.Font.Size = 12
Printer.CurrentX = intx
Printer.CurrentY = inty
Printer.Print jb
End If
'打印5元票额的张数
Printer.Font.Size = 12
jb = CStr(rstjinbin.Fields!zs5.Value)
intx = 93 + ((20 - Len(jb)) / 2)
inty = 55
Printer.CurrentX = intx
Printer.CurrentY = inty
Printer.Print jb
'打印5元票额的现金
jb = CStr(rstjinbin.Fields!je5.Value)
intx = 113 + ((25 - Len(jb)) / 2)
inty = 55
Printer.CurrentX = intx
Printer.CurrentY = inty
Printer.Print jb
'打印10元票额的张数
Printer.Font.Size = 12
jb = CStr(rstjinbin.Fields!zs10.Value)
intx = 93 + ((20 - Len(jb)) / 2)
inty = 62
Printer.CurrentX = intx
Printer.CurrentY = inty
Printer.Print jb
'打印10元票额的现金
jb = CStr(rstjinbin.Fields!je10.Value)
intx = 113 + ((25 - Len(jb)) / 2)
inty = 62
Printer.CurrentX = intx
Printer.CurrentY = inty
Printer.Print jb
'打印15元票额的张数
Printer.Font.Size = 12
jb = CStr(rstjinbin.Fields!zs15.Value)
intx = 93 + ((20 - Len(jb)) / 2)
inty = 69
Printer.CurrentX = intx
Printer.CurrentY = inty
Printer.Print jb
'打印15元票额的现金
jb = CStr(rstjinbin.Fields!je15.Value)
intx = 113 + ((25 - Len(jb)) / 2)
inty = 69
Printer.CurrentX = intx
Printer.CurrentY = inty
Printer.Print jb
'打印20元票额的张数
Printer.Font.Size = 12
jb = CStr(rstjinbin.Fields!zs20.Value)
intx = 93 + ((20 - Len(jb)) / 2)
inty = 76
Printer.CurrentX = intx
Printer.CurrentY = inty
Printer.Print jb
'打印20元票额的现金
jb = CStr(rstjinbin.Fields!je20.Value)
intx = 113 + ((25 - Len(jb)) / 2)
inty = 76
Printer.CurrentX = intx
Printer.CurrentY = inty
Printer.Print jb
'打印30元票额的张数
Printer.Font.Size = 12
jb = CStr(rstjinbin.Fields!zs30.Value)
intx = 93 + ((20 - Len(jb)) / 2)
inty = 83
Printer.CurrentX = intx
Printer.CurrentY = inty
Printer.Print jb
'打印30元票额的现金
jb = CStr(rstjinbin.Fields!je30.Value)
intx = 113 + ((25 - Len(jb)) / 2)
inty = 83
Printer.CurrentX = intx
Printer.CurrentY = inty
Printer.Print jb
'打印票的总张数
jb = CStr(.Fields!hjzs.Value)
intx = 93 + ((20 - Len(jb)) / 2)
inty = 90
Printer.CurrentX = intx
Printer.CurrentY = inty
Printer.Print jb
'打印总金额
jb = CStr(.Fields!hjje.Value)
intx = 113 + ((25 - Len(jb)) / 2)
inty = 90
Printer.CurrentX = intx
Printer.CurrentY = inty
Printer.Print jb
'打印应交小写金额
jb = CStr(.Fields!hjje.Value)
intx = 128 + Len("(小写):") + 2
intx = 145
Printer.CurrentX = intx
Printer.CurrentY = inty + 7
Printer.Print jb
'打印应交大写金额
jb = wt.Up(CLng(.Fields!hjje.Value))
intx = 45 + Len("(大写):") + 2
intx = 62
Printer.CurrentX = intx
Printer.CurrentY = inty + 7
Printer.Print jb
'打印表外头的字段
jb = Left(CStr(.Fields!station.Value), Len(.Fields!station.Value) - 1)
intx = 23
inty = 31.8
Printer.CurrentX = intx
Printer.CurrentY = inty
Printer.Print jb
jb = CStr(.Fields!bz.Value)
intx = 43 + 4 + 8
Printer.CurrentX = intx + 2
Printer.CurrentY = inty
Printer.Print jb
jb = CStr(.Fields!bc.Value)
intx = intx + 8 + 10
Printer.CurrentX = intx + 6
Printer.CurrentY = inty
Printer.Print jb
jb3 = Day(.Fields!riqi.Value)
jb2 = Month(.Fields!riqi.Value)
jb1 = Year(.Fields!riqi.Value)
jb = CStr(jb1)
intx = intx + 10 + 24
Printer.CurrentX = intx
Printer.CurrentY = inty
Printer.Print jb
jb = CStr(jb2)
intx = intx + Len("年") + 7
intx = intx + 8
Printer.CurrentX = intx
Printer.CurrentY = inty
Printer.Print jb
jb = CStr(jb3)
intx = intx + Len("月") + 7
intx = intx + 1
Printer.CurrentX = intx
Printer.CurrentY = inty
Printer.Print jb
jb = CStr(.Fields!sxm.Value)
intx = intx + 4 + 7 + 15 + 6
inty = 33.2
Printer.CurrentX = intx
Printer.CurrentY = inty
Printer.Print jb
.MoveNext
Loop
End With
Printer.EndDoc
rstjinbin.Close
Set rstjinbin = Nothing
End Function
'转换函数
Function Up(Dxs As String) As String
'检测为空时
If Trim(Dxs) = "" Then
MsgBox "没有数字,不能转换!", vbOKOnly + 32
Exit Function
End If
Dim Sw As Integer, SzP As Integer, SzUp As Integer, TempStr As String, DXStr As String
Sw = Len(Trim(Dxs))
SzP = InStr(1, Trim(Dxs), ".")
If SzP = 0 Then
Dim i As Integer
For i = 1 To Sw
TempStr = Right(Trim(Dxs), i)
TempStr = Left(TempStr, 1)
TempStr = Converts(TempStr)
Select Case i
Case 1
If TempStr = "零" Then
TempStr = "元整"
Else
TempStr = TempStr + "元整"
End If
Case 2
If TempStr = "零" Then
TempStr = "零"
Else
TempStr = TempStr + "拾"
End If
Case 3
If TempStr = "零" Then
TempStr = "零"
Else
TempStr = TempStr + "佰"
End If
Case 4
If TempStr = "零" Then
TempStr = "零"
Else
TempStr = TempStr + "仟"
End If
Case 5
If TempStr = "零" Then
TempStr = "万"
Else
TempStr = TempStr + "万"
End If
Case 6
If TempStr = "零" Then
TempStr = "零"
Else
TempStr = TempStr + "拾"
End If
Case 7
If TempStr = "零" Then
TempStr = "零"
Else
TempStr = TempStr + "佰"
End If
Case 8
If TempStr = "零" Then
TempStr = "零"
Else
TempStr = TempStr + "仟"
End If
Case 9
If TempStr = "零" Then
TempStr = "亿"
Else
TempStr = TempStr + "亿"
End If
End Select
Dim TempA As String
TempA = Left(Trim(DXStr), 1)
If TempStr = "零" Then
Select Case TempA
Case "零"
DXStr = DXStr
Case "元"
DXStr = DXStr
Case "万"
DXStr = DXStr
Case "亿"
DXStr = DXStr
Case Else
DXStr = TempStr + DXStr
End Select
Else
DXStr = TempStr + DXStr
End If
Next
Else
For i = 1 To SzP - 1
TempStr = Right(Trim(Dxs), i + (Sw - SzP + 1))
TempStr = Left(TempStr, 1)
TempStr = Converts(TempStr)
Select Case i
Case 1
If TempStr = "零" Then
TempStr = "元整"
Else
TempStr = TempStr + "元整"
End If
Case 2
If TempStr = "零" Then
TempStr = "零"
Else
TempStr = TempStr + "拾"
End If
Case 3
If TempStr = "零" Then
TempStr = "零"
Else
TempStr = TempStr + "佰"
End If
Case 4
If TempStr = "零" Then
TempStr = "零"
Else
TempStr = TempStr + "仟"
End If
Case 5
If TempStr = "零" Then
TempStr = "万"
Else
TempStr = TempStr + "万"
End If
Case 6
If TempStr = "零" Then
TempStr = "零"
Else
TempStr = TempStr + "拾"
End If
Case 7
If TempStr = "零" Then
TempStr = "零"
Else
TempStr = TempStr + "佰"
End If
Case 8
If TempStr = "零" Then
TempStr = "零"
Else
TempStr = TempStr + "仟"
End If
Case 9
If TempStr = "零" Then
TempStr = "亿"
Else
TempStr = TempStr + "亿"
End If
Case Else
'超过999999999时自动删除
TempStr = ""
End Select
TempA = Left(Trim(DXStr), 1)
If TempStr = "零" Then
Select Case TempA
Case "零"
DXStr = DXStr
Case "元"
DXStr = DXStr
Case "万"
DXStr = DXStr
Case "亿"
DXStr = DXStr
Case Else
DXStr = TempStr + DXStr
End Select
Else
DXStr = TempStr + DXStr
End If
Next
'计算小数
Dim DxstrX As String, XStr As String
XStr = Right(Trim(Dxs), Sw - SzP)
For i = 1 To Sw - SzP
TempStr = Left(XStr, i)
TempStr = Right(TempStr, 1)
TempStr = Converts(TempStr)
Select Case i
Case 1
If TempStr = "零" Then
TempStr = ""
Else
TempStr = TempStr + "角整"
End If
Case 2
If TempStr = "零" Then
TempStr = ""
Else
TempStr = TempStr + "分整"
End If
Case Else
'超过两位小数时,自动删除
TempStr = ""
End Select
DxstrX = DxstrX + TempStr
Next
DXStr = DXStr + DxstrX
End If
Up = DXStr
End Function
Function Converts(NumStr As String) As String
Select Case Val(NumStr)
Case 0
Converts = "零"
Case 1
Converts = "壹"
Case 2
Converts = "贰"
Case 3
Converts = "叁"
Case 4
Converts = "肆"
Case 5
Converts = "伍"
Case 6
Converts = "陆"
Case 7
Converts = "柒"
Case 8
Converts = "捌"
Case 9
Converts = "玖"
End Select
End Function
Function NumberTrue(keyNumber As Integer, NumberStr As TextBox) As Boolean
'转入退格键时
If keyNumber = 8 Then
If Len(NumberStr.Text) > 0 Then
NumberStr.Text = Left(NumberStr.Text, Len(NumberStr.Text) - 1)
NumberStr.SelStart = Len(NumberStr.Text)
NumberStr.SelLength = 0
NumberTrue = True
Exit Function
End If
End If
If keyNumber >= 46 And keyNumber <= 57 And keyNumber <> 47 Then
NumberTrue = True
Else
NumberTrue = False
End If
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -