📄 自动还款.frm
字号:
End Sub
Private Sub Txtdjmc_GotFocus()
If Txtdjmc.Enabled Then
cmdrefDjmc.Visible = True
End If
End Sub
Private Sub Txtdjmc_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF2 Then
cmdrefDjmc_Click
End If
If KeyCode = vbKeyReturn Or KeyCode = vbKeyDown Then
SuperGrid1.SetFocus
End If
End Sub
'单据名称输入失去焦点事件
Private Sub Txtdjmc_LostFocus()
' Dim Rs As New ADODB.Recordset
' If Txtdjmc.Text = "" Then
' MsgBox "还款单单据类型不能为空!", vbInformation, "输入错误"
' Txtdjmc.SetFocus
' Exit Sub
' Else
' sqlstr = "select iId from FD_entities where sCaption='" & Trim(Txtdjmc.Text) & "';"
' Rs.Open sqlstr, con, adOpenDynamic, adLockOptimistic
' If Not (Rs.EOF Or Rs.BOF) Then
' vouchType = Trim(Rs("iId"))
' Rs.Close
' Exit Sub
' Else
' Rs.Close
' MsgBox "还款单单据类型不存在!", vbInformation, "输入错误"
' Txtdjmc.SetFocus
' Exit Sub
' End If
' End If
'Error0:
' MsgBox Err.Description, vbInformation, "错误信息"
' If Rs.State = adStateOpen Then
' Rs.Close
' End If
' Set Rs = Nothing
End Sub
'初始化打印数据XML文件
Private Sub initPrnXmlFile()
'过程变量
Dim prnxml As New clsPrnXml
Dim AttrName() As String
Dim AttrValue() As String
Dim i, j As Integer
Dim str1 As String
On Error GoTo error0
'插入结构数据数据
str1 = Trim(Txtdjmc.Text)
prnxml.Initialize "数据", "任务"
prnxml.InsertPNode "任务", "页眉", "第%p页,共%p页"
prnxml.InsertPNode "任务", "标题", str1
prnxml.InsertPNode "任务", "表头", ""
prnxml.InsertPNode "任务", "表体", ""
prnxml.InsertPNode "任务", "表尾", ""
prnxml.InsertPNode "任务", "页脚", "用友软件"
ReDim AttrName(0, 1)
ReDim AttrValue(0)
'插入表头,表尾数据
For i = 0 To UBound(AttrName)
AttrName(i, 0) = "名字"
Next
'插入表头,表尾数据
AttrName(0, 1) = "还款日期"
'AttrName(1, 1) = "单据名称"
AttrValue(0) = CStr(Format(CDate(Trim(Txthkrq.Text)), "YYYY-MM-DD"))
'AttrValue(1) = Trim(Txtdjmc.Text)
prnxml.InsertHeadNodes "表头", "字段", AttrName, AttrValue
ReDim AttrName(1, 1)
ReDim AttrValue(1)
For i = 0 To UBound(AttrName)
AttrName(i, 0) = "名字"
Next
AttrName(0, 1) = "操作员"
AttrName(1, 1) = "操作日期"
AttrValue(0) = Trim(TxtcUsername.Text)
AttrValue(1) = CStr(Format(CDate(Trim(TxtOprDate.Text)), "YYYY-MM-DD"))
prnxml.InsertHeadNodes "表尾", "字段", AttrName, AttrValue
'插入表体头数据
ReDim AttrName(10, 1)
ReDim AttrValue(10)
For i = 0 To 10
AttrName(i, 0) = "单元"
Next
For i = 0 To 10
AttrValue(i) = Trim(SuperGrid1.TextMatrix(0, i))
Next
prnxml.InsertBodyNodes "表体", "表体头", AttrName, AttrValue
'插入表体行数据
For i = 1 To SuperGrid1.Rows - 1
For j = 0 To 10
AttrValue(j) = Trim(SuperGrid1.TextMatrix(i, j))
Next
prnxml.InsertBodyNodes "表体", "表体行", AttrName, AttrValue
Next
'保存数据文件
prnxml.saveFile "tautorData42.xml"
If initStyleXml Then
If prnDataBind Then
xmlInit = True
Else
xmlInit = False
End If
Else
xmlInit = False
End If
Set prnxml = Nothing
Exit Sub
error0:
MsgBox "打印数据准备失败!" & vbCrLf & Err.Description, vbInformation, "错误信息"
xmlInit = False
Set prnxml = Nothing
End Sub
Private Function prnDataBind() As Boolean
Dim lRet As Long
Dim sData As String
Dim sStyle As String
Dim sModuleId As String
sData = App.Path & "\tautordata42.xml"
sStyle = App.Path & "\tautorStyle42.xml"
sModuleId = "default"
lRet = Printer.SetDataStyleXML(sData, 1, sStyle, 1, sModuleId)
If lRet = 0 Then
prnDataBind = True
Else
prnDataBind = False
MsgBox "打印数据准备失败!", vbInformation, "错误信息"
End If
End Function
'打印处理程序
Private Sub printProc()
If Not xmlInit Then
Call initPrnXmlFile
End If
If xmlInit Then
Printer.DoPrint
xmlInit = False
End If
End Sub
'预览处理程序
Private Sub previewProc()
If Not xmlInit Then
Call initPrnXmlFile
End If
If xmlInit Then
Printer.PrintPreview
xmlInit = False
End If
End Sub
'输出处理程序
Private Sub outputProc()
If Not xmlInit Then
Call initPrnXmlFile
End If
If xmlInit Then
Dim sTypeList As String
Dim sSizeList As String
Dim i As Long
Dim e As Long
i = 0
sTypeList = "10,10,10,8,7,7,10,7,7,7,7"
sSizeList = "80,10,40,8,18,18,40,18,18,18,18"
e = Printer.ExportToFile(i, sTypeList, sSizeList, "", "")
' MsgBox e
End If
End Sub
'保存用户设置
Private Sub printer_SettingChanged(ByVal varLocalSettings As Variant, ByVal varModuleSettings As Variant)
Dim xmlstr As String
xmlstr = "<?xml version='1.0' standalone='yes' ?>"
xmlstr = xmlstr & "<格式>"
xmlstr = xmlstr & varLocalSettings
xmlstr = xmlstr & varModuleSettings
xmlstr = xmlstr & "</格式>"
Dim rs As New ADODB.Recordset
On Error GoTo error0
rs.Open "select * from prn_format where moduleid='autoReturn42'", con, adOpenDynamic, adLockOptimistic
rs("formatXml") = xmlstr
rs.Update
'sqlstr = "insert into PRN_format (moduleID,FormatXml) values('autoReturn42','" & xmlstr & "');"
rs.Close
Set rs = Nothing
Exit Sub
error0:
rs.Close
Set rs = Nothing
MsgBox "打印设置保存失败!"
End Sub
'设置打印格式
Private Function initStyleXml() As Boolean
Dim rs As New ADODB.Recordset
Dim PrnDom As New DOMDocument
Dim xmlstr As String
sqlstr = "select formatXml from PRN_format where moduleID='autoReturn42'"
rs.Open sqlstr, con, adOpenDynamic, adLockOptimistic
If Not (rs.EOF Or rs.BOF) Then
xmlstr = Trim(rs("formatXml"))
Else
xmlstr = "<?xml version=''1.0'' standalone=''yes'' ?>"
xmlstr = xmlstr & "<格式>"
xmlstr = xmlstr & "<打印设置 打印范围=''全部'' 页码范围=''1-1'' 打印份数=''1'' 压缩=''是'' 多任务强制分页=''否'' />"
xmlstr = xmlstr & "<纸张设置 纸张类型=''9'' 纸张大小=''2100,2970'' 打印方向=''纵向'' 页边距=''300,200,200,200'' />"
xmlstr = xmlstr & "<页眉 对齐方式=''右'' 左顶点=''0,0'' 宽=''0'' 高=''100'' 字体名=''楷体_GB2312'' 字体大小=''12'' 颜色=''#000000'' 粗体=''否'' 斜体=''否'' 打印=''是'' />"
xmlstr = xmlstr & "<标题 对齐方式=''中'' 左顶点=''0,200'' 宽=''0'' 高=''300'' 字体名=''黑体'' 字体大小=''24'' 颜色=''#000000'' 粗体=''是'' 斜体=''否'' 打印=''是'' /> "
xmlstr = xmlstr & "<表头 对齐方式=''左'' 左顶点=''0,500'' 宽=''1600'' 高=''300'' 字体名=''宋体'' 字体大小=''12'' 颜色=''#000000'' 粗体=''否'' 斜体=''否'' 打印=''是''>"
xmlstr = xmlstr & "<字段 打印=''是'' 名字=''还款日期'' 对齐方式=''左'' 左顶点=''1100,500'' 宽=''800'' 高=''200'' 字体名=''黑体'' 字体大小=''16'' 颜色=''#000000'' 粗体=''否'' 斜体=''否'' 标题宽度=''0'' 下标线=''否'' />"
'xmlstr = xmlstr & "<字段 打印=''是'' 名字=''生成单据名称'' 对齐方式=''右'' 左顶点=''1200,650'' 宽=''600'' 高=''140'' />"
xmlstr = xmlstr & "</表头>"
xmlstr = xmlstr & "<表体 左顶点=''0,800'' 宽=''0'' 高=''0'' 固定行数=''0'' 列宽=''250,220,350,350,350,300,400,400,400,400,350''>"
xmlstr = xmlstr & "<表体头 对齐方式=''中'' 边框风格=''735'' 边框宽度=''2'' 行高=''140'' 字体名=''黑体'' 字体大小=''14'' 颜色=''#000000'' 粗体=''是'' 斜体=''否'' 打印=''是'' />"
xmlstr = xmlstr & "<表体行 对齐方式=''左,左,左,左,左,左,左,左,左,左,左'' 边框风格=''783'' 边框宽度=''2'' 行高=''0'' 字体名=''Times New Roman'' 字体大小=''12'' 颜色=''#000000'' 粗体=''否'' 斜体=''否'' 打印=''是'' />"
xmlstr = xmlstr & "<表体尾 对齐方式=''中'' 边框风格=''0'' 边框宽度=''735'' 行高=''140'' 字体名=''黑体'' 字体大小=''14'' 颜色=''#000000'' 粗体=''否'' 斜体=''否'' 打印=''是'' />"
xmlstr = xmlstr & "</表体>"
xmlstr = xmlstr & "<表尾 对齐方式=''左'' 左顶点=''0,2200'' 宽=''1600'' 高=''200'' 字体名=''新宋体'' 字体大小=''12'' 颜色=''#000000'' 粗体=''否'' 斜体=''否'' 打印=''是''>"
xmlstr = xmlstr & "<字段 打印=''是'' 名字=''操作员'' 对齐方式=''左'' 左顶点=''50,2200'' 宽=''500'' 高=''200'' 字体名='''' 字体大小=''12'' 颜色=''#000000'' 粗体=''否'' 斜体=''否'' 标题宽度=''0'' 下标线=''否'' />"
xmlstr = xmlstr & "<字段 打印=''是'' 名字=''操作日期'' 对齐方式=''右'' 左顶点=''800,2200'' 宽=''600'' 高=''150'' 字体名='''' 字体大小=''12'' 颜色=''#000000'' 粗体=''否'' 斜体=''否'' 标题宽度=''0'' 下标线=''否'' />"
xmlstr = xmlstr & "</表尾>"
xmlstr = xmlstr & "<页脚 对齐方式=''右'' 左顶点=''0,2400'' 宽=''0'' 高=''170'' 字体名=''楷体_GB2312'' 字体大小=''10'' 颜色=''#000000'' 粗体=''否'' 斜体=''否'' 打印=''是'' />"
xmlstr = xmlstr & "</格式>"
sqlstr = "insert into PRN_format (moduleID,FormatXml) values('autoReturn42','" & xmlstr & "');"
On Error GoTo Error1
con.BeginTrans
con.Execute sqlstr
con.CommitTrans
xmlstr = "<?xml version='1.0' standalone='yes' ?>"
xmlstr = xmlstr & "<格式>"
xmlstr = xmlstr & "<打印设置 打印范围='全部' 页码范围='1-1' 打印份数='1' 压缩='是' 多任务强制分页='否' />"
xmlstr = xmlstr & "<纸张设置 纸张类型='9' 纸张大小='2100,2970' 打印方向='纵向' 页边距='300,200,200,200' />"
xmlstr = xmlstr & "<页眉 对齐方式='右' 左顶点='0,0' 宽='0' 高='100' 字体名='楷体_GB2312' 字体大小='12' 颜色='#000000' 粗体='否' 斜体='否' 打印='是' />"
xmlstr = xmlstr & "<标题 对齐方式='中' 左顶点='0,200' 宽='0' 高='300' 字体名='黑体' 字体大小='24' 颜色='#000000' 粗体='是' 斜体='否' 打印='是' /> "
xmlstr = xmlstr & "<表头 对齐方式='左' 左顶点='0,500' 宽='1600' 高='300' 字体名='宋体' 字体大小='12' 颜色='#000000' 粗体='否' 斜体='否' 打印='是'>"
xmlstr = xmlstr & "<字段 打印='是' 名字='还款日期' 对齐方式='左' 左顶点='1100,500' 宽='800' 高='200' 字体名='黑体' 字体大小='16' 颜色='#000000' 粗体='否' 斜体='否' 标题宽度='0' 下标线='否' />"
'xmlstr = xmlstr & "<字段 打印='是' 名字='生成单据名称' 对齐方式='右' 左顶点='1200,650' 宽='600' 高='140' />"
xmlstr = xmlstr & "</表头>"
xmlstr = xmlstr & "<表体 左顶点='0,800' 宽='0' 高='0' 固定行数='0' 列宽='250,220,350,350,350,300,400,400,400,400,350'>"
xmlstr = xmlstr & "<表体头 对齐方式='中' 边框风格='735' 边框宽度='2' 行高='140' 字体名='黑体' 字体大小='14' 颜色='#000000' 粗体='是' 斜体='否' 打印='是' />"
xmlstr = xmlstr & "<表体行 对齐方式='左,左,左,左,左,左,左,左,左,左,左' 边框风格='783' 边框宽度='2' 行高='0' 字体名='Times New Roman' 字体大小='12' 颜色='#000000' 粗体='否' 斜体='否' 打印='是' />"
xmlstr = xmlstr & "<表体尾 对齐方式='中' 边框风格='735' 边框宽度='2' 行高='140' 字体名='黑体' 字体大小='14' 颜色='#000000' 粗体='否' 斜体='否' 打印='是' />"
xmlstr = xmlstr & "</表体>"
xmlstr = xmlstr & "<表尾 对齐方式='左' 左顶点='0,1800' 宽='1600' 高='200' 字体名='新宋体' 字体大小='12' 颜色='#000000' 粗体='否' 斜体='否' 打印='是'>"
xmlstr = xmlstr & "<字段 打印='是' 名字='操作员' 对齐方式='左' 左顶点='50,1800' 宽='500' 高='200' 字体名='' 字体大小='12' 颜色='#000000' 粗体='否' 斜体='否' 标题宽度='0' 下标线='否' />"
xmlstr = xmlstr & "<字段 打印='是' 名字='操作日期' 对齐方式='右' 左顶点='800,1800' 宽='600' 高='150' 字体名='' 字体大小='12' 颜色='#000000' 粗体='否' 斜体='否' 标题宽度='0' 下标线='否' />"
xmlstr = xmlstr & "</表尾>"
xmlstr = xmlstr & "<页脚 对齐方式='右' 左顶点='0,2400' 宽='0' 高='170' 字体名='楷体_GB2312' 字体大小='10' 颜色='#000000' 粗体='否' 斜体='否' 打印='是' />"
xmlstr = xmlstr & "</格式>"
End If
' Dim i As Integer
' Dim s As String
' i = 0
' While i < Len(xmlstr)
' s = mID(xmlstr, i + 1, 1)
' If s = ">" Then
' MsgBox s
' End If
' If mID(xmlstr, i + 1, 1) = Chr(34) Then
' Mid(xmlstr, i + 1, 1) = "'"
' End If
' If mID(xmlstr, i + 1, 1) = Chr(13) Then
' Mid(xmlstr, i + 1, 1) = ""
' End If
' If mID(xmlstr, i + 1, 1) = Chr(10) Then
' Mid(xmlstr, i + 1, 1) = ""
' End If
' i = i + 1
' Wend
' MsgBox xmlstr
If PrnDom.loadXML(Trim(xmlstr)) Then
PrnDom.Save App.Path & "\tautorStyle42.xml"
Else
initStyleXml = False
End If
initStyleXml = True
rs.Close
Set rs = Nothing
Set PrnDom = Nothing
Exit Function
Error1:
initStyleXml = False
con.RollbackTrans
rs.Close
Set rs = Nothing
Set PrnDom = Nothing
End Function
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyF6
If Shift = 0 And tlbTool.Buttons("save").Enabled Then
Call saveProc
End If
Case vbKeyF3
If Shift = 0 And tlbTool.Buttons("linkquery").Enabled Then
Call linkqueryproc
End If
Case vbKeyF4
If Shift = 4 Then
U
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -