📄 frmac_detailselectprint2.frm
字号:
Exit Sub
End If
'开始科目为非空和终止代码空
If sKmCodeStart = "" And sKmCodeEnd <> "" Then
sTemp = ""
iLenEnd = Len(sKmCodeEnd)
If GetDetailKm(sTemp) Then
For i = LBound(arySubject) To UBound(arySubject)
If Left(arySubject(i).sSubjectCode, iLenEnd) <= Trim(sKmCodeEnd) Then
ReDim Preserve arySubDetail(UBound(arySubDetail) + 1)
arySubDetail(j).sSubjectCode = arySubject(i).sSubjectCode
arySubDetail(j).sSubjectName = arySubject(i).sSubjectName
arySubDetail(j).IsEndKm = arySubject(i).IsEndKm
j = j + 1
End If
Next i
End If
Exit Sub
End If
'判断开始和终止代码是否是同一科目下
'是
iLenStart = Len(sKmCodeStart)
iLenEnd = Len(sKmCodeEnd)
If (GetRootParentKmdm(sKmCodeStart) = GetRootParentKmdm(sKmCodeEnd)) Then
sTemp = GetRootParentKmdm(sKmCodeEnd)
If GetDetailKm(sTemp) Then
For i = LBound(arySubject) To UBound(arySubject)
If Left(arySubject(i).sSubjectCode, iLenStart) >= Trim(sKmCodeStart) And Left(arySubject(i).sSubjectCode, iLenEnd) <= Trim(sKmCodeEnd) Then
ReDim Preserve arySubDetail(UBound(arySubDetail) + 1)
arySubDetail(j).sSubjectCode = arySubject(i).sSubjectCode
arySubDetail(j).sSubjectName = arySubject(i).sSubjectName
arySubDetail(j).IsEndKm = arySubject(i).IsEndKm
j = j + 1
End If
Next i
End If
Else
'不是同一级科目
Call GetFKm(GetRootParentKmdm(sKmCodeStart), GetRootParentKmdm(sKmCodeEnd))
For i = LBound(sFirstLevel) To UBound(sFirstLevel)
sTemp = sFirstLevel(i).sSubjectCode
If GetDetailKm(sTemp) Then
For k = LBound(arySubject) To UBound(arySubject)
If Left(arySubject(k).sSubjectCode, iLenStart) >= Trim(sKmCodeStart) And Left(arySubject(k).sSubjectCode, iLenEnd) <= Trim(sKmCodeEnd) Then
ReDim Preserve arySubDetail(UBound(arySubDetail) + 1)
arySubDetail(j).sSubjectCode = arySubject(k).sSubjectCode
arySubDetail(j).sSubjectName = arySubject(k).sSubjectName
arySubDetail(j).IsEndKm = arySubject(k).IsEndKm
j = j + 1
End If
Next k
End If
Next i
End If
End Sub
Private Sub SetGrid(ByVal PageNo As Long, Optional ByVal FactRows As Long, Optional ByVal iPageStart As Integer = 0)
Dim i As Long, j As Long
Dim iAmountLen As Integer '数量单位字符串的长度
Dim iForeignlen As Integer '外币单位字符串的长度
Dim iPageNoLen As Integer '页号字符串的长度
Dim maxLen As Integer '最大字符串的长度
With Cllr
.SetCurSheet PageNo - 1
.SetRows FactRows, PageNo - 1
.SetCols COL_END + 2, PageNo - 1
.SetSelectMode PageNo - 1, 2
.SetFixedCol COL_START, COL_BILL
.SetFixedRow ROW_TITLE, ROW_HEAD2
' .ShowSideLabel 0, PageNo - 1
' .ShowTopLabel 0, PageNo - 1
If g_CH = -1 Then
.SetDefaultRowHeight PageNo - 1, 1, 23
End If
'Title
.SetCellAlign COL_START, ROW_TITLE, PageNo - 1, 36
.SetCellFont COL_START, ROW_TITLE, PageNo - 1, .FindFontIndex("黑体", 1)
.SetCellFontSize COL_START, ROW_TITLE, PageNo - 1, 19
.SetCellFontStyle COL_START, ROW_TITLE, PageNo - 1, 10
.MergeCells COL_START, ROW_TITLE, COL_END, ROW_TITLE
.SetCellString COL_START, ROW_TITLE, PageNo - 1, m_sGeneralSubjectName & "明细账"
.SetRowHeight 1, 26, ROW_TITLE, PageNo - 1
'Comment
.SetRowHeight 1, 23, ROW_SUBJCODE, PageNo - 1
.SetRowHeight 1, 23, ROW_SUBJNAME, PageNo - 1
' .SetRowHeight 1, 40, ROW_TITLE, PageNo - 1
' 'Comment
' .SetRowHeight 1, 19, ROW_ACCOUNTFORMAT, PageNo - 1
' .SetRowHeight 1, 19, ROW_SUBJCODE, PageNo - 1
' .SetRowHeight 1, 19, ROW_SUBJNAME, PageNo - 1
.MergeCells COL_START, ROW_SUBJNAME, COL_BALANCE_FOREIGN, ROW_SUBJNAME
.MergeCells COL_BALANCE_MONEY, ROW_SUBJNAME, COL_END, ROW_SUBJNAME
'如果是数量账或者外币账, 则设置数量单位和外币单位格
If m_bAmount Or m_bForeign Then
If m_bAmount And m_bForeign Then
.MergeCells COL_START, ROW_ACCOUNTFORMAT, COL_BALANCE_FOREIGN, ROW_ACCOUNTFORMAT
.MergeCells COL_BALANCE_MONEY, ROW_ACCOUNTFORMAT, COL_END, ROW_ACCOUNTFORMAT
.SetCellFont COL_BALANCE_MONEY, ROW_ACCOUNTFORMAT, PageNo - 1, .FindFontIndex("楷体_GB2312", 1)
.SetCellFontSize COL_BALANCE_MONEY, ROW_ACCOUNTFORMAT, PageNo - 1, 10
.SetCellFontStyle COL_BALANCE_MONEY, ROW_ACCOUNTFORMAT, PageNo - 1, 0
.SetCellAlign COL_BALANCE_MONEY, ROW_ACCOUNTFORMAT, PageNo - 1, 34
Else
.MergeCells COL_START, ROW_ACCOUNTFORMAT, COL_END, ROW_ACCOUNTFORMAT
End If
.MergeCells COL_START, ROW_SUBJCODE, COL_BALANCE_FOREIGN, ROW_SUBJCODE
.MergeCells COL_BALANCE_MONEY, ROW_SUBJCODE, COL_END, ROW_SUBJCODE
.SetCellFont COL_BALANCE_MONEY, ROW_SUBJCODE, PageNo - 1, .FindFontIndex("楷体_GB2312", 1)
.SetCellFontSize COL_BALANCE_MONEY, ROW_SUBJCODE, PageNo - 1, 10
.SetCellFontStyle COL_BALANCE_MONEY, ROW_SUBJCODE, PageNo - 1, 0
.SetCellAlign COL_BALANCE_MONEY, ROW_SUBJCODE, PageNo - 1, 34
Else
.MergeCells COL_START, ROW_ACCOUNTFORMAT, COL_END, ROW_ACCOUNTFORMAT
.MergeCells COL_START, ROW_SUBJCODE, COL_END, ROW_SUBJCODE
End If
.SetCellFont COL_START, ROW_SUBJCODE, PageNo - 1, .FindFontIndex("楷体_GB2312", 1)
.SetCellFontSize COL_START, ROW_SUBJCODE, PageNo - 1, 10
.SetCellFontStyle COL_START, ROW_SUBJCODE, PageNo - 1, 0
.SetCellFont COL_START, ROW_SUBJNAME, PageNo - 1, .FindFontIndex("楷体_GB2312", 1)
.SetCellFontSize COL_START, ROW_SUBJNAME, PageNo - 1, 10
.SetCellFontStyle COL_START, ROW_SUBJNAME, PageNo - 1, 0
.SetCellAlign COL_BALANCE_MONEY, ROW_SUBJNAME, PageNo - 1, 34
.SetCellFont COL_BALANCE_MONEY, ROW_SUBJNAME, PageNo - 1, .FindFontIndex("楷体_GB2312", 1)
.SetCellFontSize COL_BALANCE_MONEY, ROW_SUBJNAME, PageNo - 1, 10
.SetCellFontStyle COL_BALANCE_MONEY, ROW_SUBJNAME, PageNo - 1, 0
.SetCellString COL_START, ROW_SUBJCODE, PageNo - 1, "科目代码:" & m_sPrintSubjectCode
.SetCellString COL_START, ROW_SUBJNAME, PageNo - 1, "科目名称:" & m_sPrintSubjectName
'为了左对齐, 在字符串尾部加空格;
If m_bAmount Then
iAmountLen = LenB("数量单位:" & m_sSldw)
iForeignlen = LenB("外币币名:" & m_sWbdw)
iPageNoLen = LenB("第" & "页") + Len(CStr(PageNo)) + 2
If iAmountLen > iForeignlen Then
maxLen = iAmountLen
Else
maxLen = iForeignlen
End If
If m_bForeign Then
.SetCellString COL_BALANCE_MONEY, ROW_ACCOUNTFORMAT, PageNo - 1, "数量单位:" & m_sSldw & _
String(maxLen - iAmountLen, " ")
.SetCellString COL_BALANCE_MONEY, ROW_SUBJCODE, PageNo - 1, "外币币名:" & m_sWbdw & _
String(maxLen - iForeignlen, " ")
Else
.SetCellString COL_BALANCE_MONEY, ROW_SUBJCODE, PageNo - 1, "数量单位:" & m_sSldw & _
String(maxLen - iAmountLen, " ")
End If
ElseIf m_bForeign Then
.SetCellString COL_BALANCE_MONEY, ROW_SUBJCODE, PageNo - 1, "外币币名:" & m_sWbdw & _
String(maxLen - iForeignlen, " ")
End If
.SetCellString COL_BALANCE_MONEY, ROW_SUBJNAME, PageNo - 1, "总 页 第 " & CStr(PageNo + iPageStart) & " 页" & _
String(maxLen - iPageNoLen, " ")
'Head
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, 11
.SetCellFontStyle j, i, PageNo - 1, 2
Next j
.SetRowHeight 1, 25.9, i, PageNo - 1
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
If chkModePrint.value = 0 Then
'设置内容
.SetCellString COL_SERIAL, ROW_HEAD1, PageNo - 1, "序号"
.SetCellString COL_MONTH, ROW_HEAD1, PageNo - 1, m_sYear & "年"
.SetCellString COL_MONTH, ROW_HEAD2, PageNo - 1, "月"
.SetCellString COL_DAY, ROW_HEAD2, PageNo - 1, "日"
.SetCellString COL_TYPE, ROW_HEAD1, PageNo - 1, "记账凭证"
.SetCellString COL_TYPE, ROW_HEAD2, PageNo - 1, "种类"
.SetCellString COL_NUMBER, ROW_HEAD2, PageNo - 1, "号数"
.SetCellString COL_BILL, ROW_HEAD2, PageNo - 1, "单据号"
.SetCellString COL_SUMMARY, ROW_HEAD1, PageNo - 1, "摘要"
.SetCellString COL_UNIT_PRICE, ROW_HEAD1, PageNo - 1, "单价"
.SetCellString COL_EXCHANGE_RATE, ROW_HEAD1, PageNo - 1, "汇率"
.SetCellString COL_DEBIT_MONEY, ROW_HEAD1, PageNo - 1, "借方"
.SetCellString COL_DEBIT_AMOUNT, ROW_HEAD2, PageNo - 1, "数量"
.SetCellString COL_DEBIT_FOREIGN, ROW_HEAD2, PageNo - 1, "外币"
.SetCellString COL_DEBIT_MONEY, ROW_HEAD2, PageNo - 1, "金额"
.SetCellString COL_CREDIT_MONEY, ROW_HEAD1, PageNo - 1, "贷方"
.SetCellString COL_CREDIT_AMOUNT, ROW_HEAD2, PageNo - 1, "数量"
.SetCellString COL_CREDIT_FOREIGN, ROW_HEAD2, PageNo - 1, "外币"
.SetCellString COL_CREDIT_MONEY, ROW_HEAD2, PageNo - 1, "金额"
.SetCellString COL_DIRECTION, ROW_HEAD1, PageNo - 1, "方向"
.SetCellString COL_BALANCE_MONEY, ROW_HEAD1, PageNo - 1, "余额"
.SetCellString COL_BALANCE_AMOUNT, ROW_HEAD2, PageNo - 1, "数量"
.SetCellString COL_BALANCE_FOREIGN, ROW_HEAD2, PageNo - 1, "外币"
.SetCellString COL_BALANCE_MONEY, ROW_HEAD2, PageNo - 1, "金额"
.SetCellString COL_MAN, ROW_HEAD1, PageNo - 1, "会计事项原处理人"
.SetCellString COL_LOGOUT_YEAR, ROW_HEAD1, PageNo - 1, "注销的对方"
.SetCellString COL_LOGOUT_YEAR, ROW_HEAD2, PageNo - 1, "年"
.SetCellString COL_LOGOUT_MONTH, ROW_HEAD2, PageNo - 1, "月"
.SetCellString COL_LOGOUT_DAY, ROW_HEAD2, PageNo - 1, "日"
.SetCellString COL_LOGOUT_TYPE, ROW_HEAD2, PageNo - 1, "字"
.SetCellString COL_LOGOUT_NUMBER, ROW_HEAD2, PageNo - 1, "号"
End If
'Text
For i = ROW_GRID_START To .GetRows(PageNo - 1) - 1
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
.SetCellAlign COL_BILL, 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.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.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, 4
Cllr.SetCellAlign COL_DEBIT_AMOUNT, i, PageNo - 1, 32 + 2
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.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.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.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.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
.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.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.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
.SetCellAlign COL_MAN, i, PageNo - 1, 36
Next i
.MergeCells .GetCols(PageNo - 1) - 1, ROW_HEAD1, .GetCols(PageNo - 1) - 1, .GetRows(PageNo - 1) - 1
If chkModePrint.value = 0 Then
'Draw Line
.DrawGridLine COL_START, ROW_HEAD1, .GetCols(PageNo - 1), .GetRows(PageNo - 1) - 1, 1, 3, .FindColorIndex(RGB(0, 0, 0), 1)
.DrawGridLine COL_SERIAL, ROW_HEAD1, COL_DAY, ROW_HEAD1, 5, 2, .FindColorIndex(RGB(0, 0, 0), 1)
.DrawGridLine COL_SERIAL, ROW_HEAD1, .GetCols(PageNo - 1), .GetRows(PageNo - 1) - 2, 5, 2, .FindColorIndex(RGB(0, 0, 0), 1)
.DrawGridLine COL_MONTH, ROW_HEAD1, .GetCols(PageNo - 1), .GetRows(PageNo - 1) - 1, 2, 2, .FindColorIndex(RGB(0, 0, 0), 1)
End If
'Print Corp & Date & Time
.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, Pag
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -