📄 frmac_generalmodeprint.frm
字号:
For i = ROW_HEAD1 To ROW_HEAD2
For j = COL_START To COL_END
.SetCellAlign j, i, PageNo - 1, 36
.SetCellTextStyle j, i, PageNo - 1, 2
.SetCellFont j, i, PageNo - 1, .FindFontIndex("仿宋_GB2312", 1)
.SetCellFontSize j, i, PageNo - 1, 10
.SetCellFontStyle j, i, PageNo - 1, 2
Next j
Next i
'设置列宽
For i = LBound(m_iColWidth) To UBound(m_iColWidth)
.SetColWidth 1, m_iColWidth(i), i, PageNo - 1
Next i
.SetColWidth 1, 3, COL_END + 1, PageNo - 1
'合并单元格
.MergeCells COL_SERIAL, ROW_HEAD1, COL_SERIAL, ROW_HEAD2
.MergeCells COL_MONTH, ROW_HEAD1, COL_DAY, ROW_HEAD1
.MergeCells COL_TYPE, ROW_HEAD1, COL_BILL, ROW_HEAD1
.MergeCells COL_SUMMARY, ROW_HEAD1, COL_SUMMARY, ROW_HEAD2
.MergeCells COL_UNIT_PRICE, ROW_HEAD1, COL_UNIT_PRICE, ROW_HEAD2
.MergeCells COL_EXCHANGE_RATE, ROW_HEAD1, COL_EXCHANGE_RATE, ROW_HEAD2
.MergeCells COL_DEBIT_MONEY, ROW_HEAD1, COL_DEBIT_MONEY, ROW_HEAD2
.MergeCells COL_CREDIT_MONEY, ROW_HEAD1, COL_CREDIT_MONEY, ROW_HEAD2
.MergeCells COL_DIRECTION, ROW_HEAD1, COL_DIRECTION, ROW_HEAD2
.MergeCells COL_BALANCE_MONEY, ROW_HEAD1, COL_BALANCE_MONEY, ROW_HEAD2
.MergeCells COL_SEPARATE, ROW_HEAD1, COL_SEPARATE, ROW_HEAD2
.MergeCells COL_MAN, ROW_HEAD1, COL_MAN, ROW_HEAD2
.MergeCells COL_LOGOUT_YEAR, ROW_HEAD1, COL_LOGOUT_NUMBER, ROW_HEAD1
'控制第二行的行高
.SetRowHeight 1, 25.9, ROW_HEAD2, PageNo - 1
'设置内容
'Text
For i = ROW_GRID_START To .GetRows(PageNo - 1) - 2
For j = COL_START To COL_END
.SetCellFont j, i, PageNo - 1, .FindFontIndex("宋体", 1)
.SetCellFontSize j, i, PageNo - 1, 11
.SetCellFontStyle j, i, PageNo - 1, 0
Next j
.SetRowHeight 0, 63.2, i, PageNo - 1
.SetCellAlign COL_SERIAL, i, PageNo - 1, 36
.SetCellAlign COL_MONTH, i, PageNo - 1, 36
.SetCellAlign COL_DAY, i, PageNo - 1, 36
.SetCellAlign COL_TYPE, i, PageNo - 1, 36
.SetCellAlign COL_NUMBER, i, PageNo - 1, 36
.SetCellAlign COL_SUMMARY, i, PageNo - 1, 33
Cllr.SetCellNumType COL_UNIT_PRICE, i, PageNo - 1, 1
Cllr.SetCellSeparator COL_UNIT_PRICE, i, PageNo - 1, 2
Cllr.SetCellDigital COL_UNIT_PRICE, i, PageNo - 1, 2
Cllr.SetCellAlign COL_UNIT_PRICE, i, PageNo - 1, 32 + 2
Cllr.SetCellHideZero COL_UNIT_PRICE, i, PageNo - 1, 1
Cllr.SetCellNumType COL_EXCHANGE_RATE, i, PageNo - 1, 1
Cllr.SetCellSeparator COL_EXCHANGE_RATE, i, PageNo - 1, 2
Cllr.SetCellDigital COL_EXCHANGE_RATE, i, PageNo - 1, 2
Cllr.SetCellAlign COL_EXCHANGE_RATE, i, PageNo - 1, 32 + 2
Cllr.SetCellHideZero COL_EXCHANGE_RATE, i, PageNo - 1, 1
Cllr.SetCellNumType COL_DEBIT_AMOUNT, i, PageNo - 1, 1
Cllr.SetCellSeparator COL_DEBIT_AMOUNT, i, PageNo - 1, 2
Cllr.SetCellDigital COL_DEBIT_AMOUNT, i, PageNo - 1, 2
Cllr.SetCellAlign COL_DEBIT_AMOUNT, i, PageNo - 1, 32 + 2
Cllr.SetCellHideZero COL_DEBIT_AMOUNT, i, PageNo - 1, 1
Cllr.SetCellNumType COL_DEBIT_FOREIGN, i, PageNo - 1, 1
Cllr.SetCellSeparator COL_DEBIT_FOREIGN, i, PageNo - 1, 2
Cllr.SetCellDigital COL_DEBIT_FOREIGN, i, PageNo - 1, 2
Cllr.SetCellAlign COL_DEBIT_FOREIGN, i, PageNo - 1, 32 + 2
Cllr.SetCellHideZero COL_DEBIT_FOREIGN, i, PageNo - 1, 1
Cllr.SetCellNumType COL_DEBIT_MONEY, i, PageNo - 1, 1
Cllr.SetCellSeparator COL_DEBIT_MONEY, i, PageNo - 1, 2
Cllr.SetCellDigital COL_DEBIT_MONEY, i, PageNo - 1, 2
Cllr.SetCellAlign COL_DEBIT_MONEY, i, PageNo - 1, 32 + 2
Cllr.SetCellHideZero COL_DEBIT_MONEY, i, PageNo - 1, 1
Cllr.SetCellNumType COL_CREDIT_AMOUNT, i, PageNo - 1, 1
Cllr.SetCellSeparator COL_CREDIT_AMOUNT, i, PageNo - 1, 2
Cllr.SetCellDigital COL_CREDIT_AMOUNT, i, PageNo - 1, 2
Cllr.SetCellAlign COL_CREDIT_AMOUNT, i, PageNo - 1, 32 + 2
Cllr.SetCellHideZero COL_CREDIT_AMOUNT, i, PageNo - 1, 1
Cllr.SetCellNumType COL_CREDIT_FOREIGN, i, PageNo - 1, 1
Cllr.SetCellSeparator COL_CREDIT_FOREIGN, i, PageNo - 1, 2
Cllr.SetCellDigital COL_CREDIT_FOREIGN, i, PageNo - 1, 2
Cllr.SetCellAlign COL_CREDIT_FOREIGN, i, PageNo - 1, 32 + 2
Cllr.SetCellHideZero COL_CREDIT_FOREIGN, i, PageNo - 1, 1
Cllr.SetCellNumType COL_CREDIT_MONEY, i, PageNo - 1, 1
Cllr.SetCellSeparator COL_CREDIT_MONEY, i, PageNo - 1, 2
Cllr.SetCellDigital COL_CREDIT_MONEY, i, PageNo - 1, 2
Cllr.SetCellAlign COL_CREDIT_MONEY, i, PageNo - 1, 32 + 2
Cllr.SetCellHideZero COL_CREDIT_MONEY, i, PageNo - 1, 1
.SetCellAlign COL_DIRECTION, i, PageNo - 1, 36
Cllr.SetCellNumType COL_BALANCE_AMOUNT, i, PageNo - 1, 1
Cllr.SetCellSeparator COL_BALANCE_AMOUNT, i, PageNo - 1, 2
Cllr.SetCellDigital COL_BALANCE_AMOUNT, i, PageNo - 1, 2
Cllr.SetCellAlign COL_BALANCE_AMOUNT, i, PageNo - 1, 32 + 2
Cllr.SetCellHideZero COL_BALANCE_AMOUNT, i, PageNo - 1, 1
Cllr.SetCellNumType COL_BALANCE_FOREIGN, i, PageNo - 1, 1
Cllr.SetCellSeparator COL_BALANCE_FOREIGN, i, PageNo - 1, 2
Cllr.SetCellDigital COL_BALANCE_FOREIGN, i, PageNo - 1, 2
Cllr.SetCellAlign COL_BALANCE_FOREIGN, i, PageNo - 1, 32 + 2
Cllr.SetCellHideZero COL_BALANCE_FOREIGN, i, PageNo - 1, 1
Cllr.SetCellNumType COL_BALANCE_MONEY, i, PageNo - 1, 1
Cllr.SetCellSeparator COL_BALANCE_MONEY, i, PageNo - 1, 2
Cllr.SetCellDigital COL_BALANCE_MONEY, i, PageNo - 1, 2
Cllr.SetCellAlign COL_BALANCE_MONEY, i, PageNo - 1, 32 + 2
Cllr.SetCellHideZero COL_BALANCE_MONEY, i, PageNo - 1, 1
.SetCellAlign COL_MAN, i, PageNo - 1, 36
Next i
.MergeCells .GetCols(PageNo - 1) - 1, ROW_HEAD1, .GetCols(PageNo - 1) - 1, .GetRows(PageNo - 1) - 1
'Print Corp & Date & Time
Dim tmpSheet As Integer
tmpSheet = Cllr.GetCurSheet
Cllr.SetCurSheet PageNo - 1
.MergeCells COL_SERIAL, .GetRows(PageNo - 1) - 1, .GetCols(PageNo - 1) - 1, .GetRows(PageNo - 1) - 1
Cllr.SetCurSheet tmpSheet
.SetCellAlign COL_SERIAL, .GetRows(PageNo - 1) - 1, PageNo - 1, 35
.SetCellString COL_SERIAL, .GetRows(PageNo - 1) - 1, PageNo - 1, "(打印日期:" + Format(Now, "yyyy-mm-dd") + " 打印时间:" + Format(Now, "hh:mm:ss") + ")"
.SetRows .GetRows(PageNo - 1) + 1, PageNo - 1
i = .GetRows(PageNo - 1) - 1
.MergeCells COL_START, i, COL_DEBIT_FOREIGN, i
.MergeCells COL_DEBIT_MONEY, i, COL_END, i
.SetCellAlign COL_START, i, PageNo - 1, 33
.SetCellAlign COL_DEBIT_MONEY, i, PageNo - 1, 34
.SetCellFont COL_START, i, PageNo - 1, .FindFontIndex("宋体", 1)
.SetCellFontSize COL_START, i, PageNo - 1, 9
.SetCellFontStyle COL_START, i, PageNo - 1, 0
.SetCellFont COL_DEBIT_MONEY, i, PageNo - 1, .FindFontIndex("宋体", 1)
.SetCellFontSize COL_DEBIT_MONEY, i, PageNo - 1, 9
.SetCellFontStyle COL_DEBIT_MONEY, i, PageNo - 1, 0
.ShowPageBreak False
End With
End Sub
Public Sub CopyKmArray(ByRef kmdm() As String, ByRef Kmmc() As String)
Dim k As Integer
ReDim arySubDetail(UBound(kmdm) + 1)
For k = LBound(kmdm) To UBound(kmdm)
arySubDetail(k).sSubjectCode = kmdm(k)
arySubDetail(k).sSubjectName = Kmmc(k)
Next
End Sub
Public Sub uModePrint(Optional ByVal iPageStart As Integer = 0)
Dim i As Integer
For i = LBound(arySubDetail) To UBound(arySubDetail)
If Trim(arySubDetail(i).sSubjectCode) <> "" Then
m_sSubjCode = arySubDetail(i).sSubjectCode
m_sSubjName = arySubDetail(i).sSubjectName
iPageStart = ShowResult(iPageStart)
If ubIncludeNoHappen = True Or ubHappen = True Then
uPrint
End If
End If
Next i
End Sub
Public Sub uModePreview(Optional ByVal iPageStart As Integer = 0)
Dim i As Integer
For i = LBound(arySubDetail) To UBound(arySubDetail)
If Trim(arySubDetail(i).sSubjectCode) <> "" Then
m_sSubjCode = arySubDetail(1).sSubjectCode
m_sSubjName = arySubDetail(1).sSubjectName
iPageStart = ShowResult(iPageStart)
If ubIncludeNoHappen = True Or ubHappen = True Then
uPreview
End If
Exit For
End If
Next i
End Sub
'显示查总账结果
Public Function ShowResult(Optional ByVal iPageStart As Integer = 0) As Integer
Dim rstTemp As ADODB.Recordset
Dim maxKjqj As Integer '当前已记账凭证的最大会计期间
Dim StartDate As Date '查询开始日期
Dim sSQL As String
Dim dDebit_Amount As Double, dDebit_Foreign As Double, dDebit_Money As Double
Dim dCredit_Amount As Double, dCredit_Foreign As Double, dCredit_Money As Double
Dim sDireciton As String
Dim sHappenDirection As String
Dim dBalance_Amount As Double, dBalance_Foreign As Double, dBalance_Money As Double
Dim i As Long, j As Long, k As Long
Dim m_iFromMonth As Integer
Dim m_iToMonth As Integer
'假设没有发生
ubHappen = False
fMainForm.MousePointer = vbHourglass
'得到打印时显示的科目代码和名称以及总账科目
m_sPrintSubjectCode = m_sSubjCode
m_sPrintSubjectName = GetSubjectFullPath(glo.sAccountID, m_sSubjCode)
If InStr(1, m_sPrintSubjectName, "\") > 0 Then
m_sGenSubjectName = Mid(m_sPrintSubjectName, InStr(1, m_sPrintSubjectName, "\") + 1)
Else
m_sGenSubjectName = m_sPrintSubjectName
End If
'得到当前账套的单位名称
m_sEnterName = GetDWMC
If m_sEnterName = "" Then
ShowResult = iPageStart
Exit Function
End If
'得到一个科目数量单位和外币单位
Call GetSldwAndWbdw(m_sSubjCode, m_sSldw, m_sWbdw)
If m_sSldw <> "" Then
m_bAmount = True
Else
m_bAmount = False
End If
If m_sWbdw <> "" Then
m_bForeign = True
Else
m_bForeign = False
End If
'将CELL不可见,防止清除CELL控件内容时屏幕闪烁;
Cllr.Visible = False
Cllr.ResetContent
Set rstTemp = New ADODB.Recordset
rstTemp.CursorLocation = adUseClient
' m_iYear = glo.sOperateYear
sSQL = "SELECT * FROM tSYS_SubSysUsed WHERE AccountID = '" & glo.sAccountID & _
"' AND SubSysID = '" & gloSys.sSubSysId & "'"
With rstTemp
.Open sSQL, gloSys.cnnSYS, adOpenStatic, adLockReadOnly
If .RecordCount > 0 Then
'如果注册年份大于账务子系统启用年份, 查询开始月份等于1;
'否则如果注册年份等于账务子系统启用年份, 查询开始月份等于账务子系统启用月份;
'否则报错;
If glo.sOperateYear > .Fields("BeginYear").value Then
m_iFromMonth = 1
ElseIf glo.sOperateYear = .Fields("BeginYear").value Then
m_iFromMonth = .Fields("BeginMonth").value
Else
MsgBox "注册年份不能小于账务子系统启用年份", vbCritical
Unload Me
Exit Function
End If
'如果注册年份大于账务子系统结账年份, 则求查询截止月份(0);
'否则如果注册年份等于账务子系统结账年份, 则求查询截止月份(结账月份);
'否则查询截止月份等于12月份;
If glo.sOperateYear > .Fields("ModiYear").value Then
m_iToMonth = GetToMonth(0)
ElseIf glo.sOperateYear = .Fields("ModiYear").value Then
m_iToMonth = GetToMonth(.Fields("ModiMonth").value)
Else
m_iToMonth = 12
End If
End If
.Close
End With
'从科目表中取出科目名称、年(期)初累计数、年(期)初月到十二月的累计数
sSQL = "SELECT ljjsl00,ljjwb00,ljj00,ljdsl00,ljdwb00,ljd00"
If m_iFromMonth = 0 Then
m_iFromMonth = 1
End If
For i = m_iFromMonth - 1 To 12
sSQL = sSQL & ",ljjsl" & Format(i, "00") & ",ljjwb" & Format(i, "00") & ",ljj" & Format(i, "00") & _
",ljdsl" & Format(i, "00") & ",ljdwb" & Format(i, "00") & ",ljd" & Format(i, "00")
Next i
sSQL = sSQL & " FROM tZW_balance" & glo.sOperateYear & " WHERE kmdm = '" & m_sSubjCode & "'"
With rstTemp
.Open sSQL, glo.cnnMain, adOpenStatic, adLockReadOnly
If .RecordCount > 0 Then
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -