上传用户:zhpu1995
上传日期:2013-09-06
资源大小:61151k
文件大小:183k
源码类别:

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Object = "{DD44C0E7-B2CF-11D1-8DD3-444553540000}#1.0#0"; "cell32.ocx"
  3. Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "COMDLG32.OCX"
  4. Begin VB.Form Frm_edit 
  5.    Caption         =   "Form1"
  6.    ClientHeight    =   6510
  7.    ClientLeft      =   60
  8.    ClientTop       =   345
  9.    ClientWidth     =   8160
  10.    Icon            =   "编辑窗口.frx":0000
  11.    LinkTopic       =   "Form1"
  12.    MDIChild        =   -1  'True
  13.    ScaleHeight     =   6510
  14.    ScaleWidth      =   8160
  15.    WindowState     =   2  'Maximized
  16.    Begin MSComDlg.CommonDialog CommonDialog1 
  17.       Left            =   5310
  18.       Top             =   5790
  19.       _ExtentX        =   847
  20.       _ExtentY        =   847
  21.       _Version        =   393216
  22.    End
  23.    Begin CELLLib.Cell Cell1 
  24.       Height          =   4935
  25.       Left            =   0
  26.       TabIndex        =   0
  27.       Top             =   360
  28.       Width           =   7755
  29.       _Version        =   65536
  30.       _ExtentX        =   13679
  31.       _ExtentY        =   8705
  32.       _StockProps     =   0
  33.    End
  34. End
  35. Attribute VB_Name = "Frm_edit"
  36. Attribute VB_GlobalNameSpace = False
  37. Attribute VB_Creatable = False
  38. Attribute VB_PredeclaredId = True
  39. Attribute VB_Exposed = False
  40. '***********************************************
  41. '*    模 块 名 称 :编辑窗口
  42. '*    功 能 描 述 :
  43. '*    程序员姓名  :奚俊峰
  44. '*    最后修改人  :奚俊峰
  45. '*    最后修改时间:2002/01/21
  46. '***********************************************
  47. Option Explicit
  48. Public ml_col As Long '当前列
  49. Public ml_row As Long '当前行
  50. Public mcls_new_report As cls_new_report '新建报表类
  51. Public mcls_new_report_model As cls_new_report_model '新建报表模板类
  52. Public mcls_open_report As cls_open_report '打开报表类
  53. Public mcls_open_report_model As cls_open_report_model '打开报表模板类
  54. Public ml_edit_lx As Integer    '当前编辑的表格的类型
  55.                                 '1?打开报表
  56.                                 '2?打开报表模板
  57.                                 '3?打开文件
  58.                                 '4?新建报表
  59.                                 '5?新建报表模板
  60.                                 '6?新建文件
  61.                                 '7?新建汇总表文件
  62.                                 
  63. Public ms_filename As String  '当前打开或新建的文件名称
  64. Dim mai_parmtype_ncs() As Integer
  65. Dim mai_parmdefault_ncs() As Integer
  66. Dim mai_parmtype_qms() As Integer
  67. Dim mai_parmdefault_qms() As Integer
  68. Dim i As Integer, j As Integer
  69. Dim ms_save_time As String
  70. '-------------------------------------------------------------------
  71. '
  72. '新函数增加说明:
  73. '
  74. '(1)添加该函数的帮助说明
  75. '     在  :Private Function mf_addfunctioin
  76. '     格式:参见财务函数的格式
  77. '
  78. '(2)添加函数执行过程的处理
  79. '     在  :Private Sub Cell1_OnExecuteUserFunc
  80. '     格式:参见财务函数执行过程的处理
  81. '           加: Case "YourFunctionName"
  82. '                    函数过程处理
  83. '
  84. '-------------------------------------------------------------------
  85. '增加新函数
  86. Private Function mf_addfunction()
  87.     Dim rt As Boolean
  88.     Dim ls_hssm As String
  89.     
  90.     '1.年初余额
  91.     ls_hssm = "函数名称:" & vbCrLf & _
  92.     "        JE_NCYE ----年初余额" & vbCrLf & _
  93.     "函数格式:" & vbCrLf & _
  94.     "        JE_NCYE(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  95.     "参数表示:" & vbCrLf & _
  96.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  97.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  98.     "        辅助项1:可以输入“标识+辅助项码”,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  99.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  100.     "        辅助项2:同上?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  101.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  102.     ReDim mai_parmtype_ncs(5) As Integer
  103.     ReDim mai_parmdefault_ncs(5) As Integer
  104.     For i = 0 To 4
  105.         mai_parmtype_ncs(i) = 1
  106.         mai_parmdefault_ncs(i) = 1
  107.     Next i
  108.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "JE_NCYE", 4, 5, mai_parmtype_ncs(0), mai_parmdefault_ncs(0), ls_hssm)
  109.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  110.     
  111.     '2.期初余额
  112.     ls_hssm = "函数名称:" & vbCrLf & _
  113.     "        JE_QCYE ----期初余额" & vbCrLf & _
  114.     "函数格式:" & vbCrLf & _
  115.     "        JE_QCYE(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  116.     "参数表示:" & vbCrLf & _
  117.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  118.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  119.     "        辅助项1:可以输入“标识+辅助项码”,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  120.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  121.     "        辅助项2:同上?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  122.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  123.     ReDim mai_parmtype_qms(5) As Integer
  124.     ReDim mai_parmdefault_qms(5) As Integer
  125.     For i = 0 To 4
  126.         mai_parmtype_qms(i) = 1
  127.         mai_parmdefault_qms(i) = 1
  128.     Next i
  129.     
  130.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "JE_QCYE", 4, 5, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  131.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  132.     
  133.     '3.期末余额
  134.     ls_hssm = "函数名称:" & vbCrLf & _
  135.     "        JE_QMYE ----期末余额" & vbCrLf & _
  136.     "函数格式:" & vbCrLf & _
  137.     "        JE_QMYE(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  138.     "参数表示:" & vbCrLf & _
  139.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  140.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  141.     "        辅助项1:可以输入“标识+辅助项码”,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  142.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  143.     "        辅助项2:同上?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  144.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  145.     ReDim mai_parmtype_qms(5) As Integer
  146.     ReDim mai_parmdefault_qms(5) As Integer
  147.     For i = 0 To 4
  148.         mai_parmtype_qms(i) = 1
  149.         mai_parmdefault_qms(i) = 1
  150.     Next i
  151.     
  152.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "JE_QMYE", 4, 5, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  153.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  154.     
  155.     '4.本期借方发生额
  156.     ls_hssm = "函数名称:" & vbCrLf & _
  157.     "        JE_BQJFS ----本期借方发生额" & vbCrLf & _
  158.     "函数格式:" & vbCrLf & _
  159.     "        JE_BQJFS(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  160.     "参数表示:" & vbCrLf & _
  161.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  162.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  163.     "        辅助项1:可以输入“标识+辅助项码”,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  164.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  165.     "        辅助项2:同上?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  166.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  167.     ReDim mai_parmtype_qms(5) As Integer
  168.     ReDim mai_parmdefault_qms(5) As Integer
  169.     For i = 0 To 4
  170.         mai_parmtype_qms(i) = 1
  171.         mai_parmdefault_qms(i) = 1
  172.     Next i
  173.     
  174.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "JE_BQJFS", 4, 5, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  175.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  176.     
  177.     '5.本期贷方发生额
  178.     ls_hssm = "函数名称:" & vbCrLf & _
  179.     "        JE_BQDFS ----本期贷方发生额" & vbCrLf & _
  180.     "函数格式:" & vbCrLf & _
  181.     "        JE_BQDFS(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  182.     "参数表示:" & vbCrLf & _
  183.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  184.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  185.     "        辅助项1:可以输入“标识+辅助项码”,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  186.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  187.     "        辅助项2:同上?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  188.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  189.     ReDim mai_parmtype_qms(5) As Integer
  190.     ReDim mai_parmdefault_qms(5) As Integer
  191.     For i = 0 To 4
  192.         mai_parmtype_qms(i) = 1
  193.         mai_parmdefault_qms(i) = 1
  194.     Next i
  195.     
  196.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "JE_BQDFS", 4, 5, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  197.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  198.     
  199.     '6.累计借方发生额
  200.     ls_hssm = "函数名称:" & vbCrLf & _
  201.     "        JE_LJJFS ----累计借方发生额" & vbCrLf & _
  202.     "函数格式:" & vbCrLf & _
  203.     "        JE_LJJFS(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  204.     "参数表示:" & vbCrLf & _
  205.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  206.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  207.     "        辅助项1:可以输入“标识+辅助项码”,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  208.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  209.     "        辅助项2:同上?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  210.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  211.     ReDim mai_parmtype_qms(5) As Integer
  212.     ReDim mai_parmdefault_qms(5) As Integer
  213.     For i = 0 To 4
  214.         mai_parmtype_qms(i) = 1
  215.         mai_parmdefault_qms(i) = 1
  216.     Next i
  217.     
  218.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "JE_LJJFS", 4, 5, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  219.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  220.     
  221.     '7.累计贷方发生额
  222.     ls_hssm = "函数名称:" & vbCrLf & _
  223.     "        JE_LJDFS ----累计贷方发生额" & vbCrLf & _
  224.     "函数格式:" & vbCrLf & _
  225.     "        JE_LJDFS(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  226.     "参数表示:" & vbCrLf & _
  227.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  228.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  229.     "        辅助项1:可以输入“标识+辅助项码”,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  230.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  231.     "        辅助项2:同上?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  232.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  233.     ReDim mai_parmtype_qms(5) As Integer
  234.     ReDim mai_parmdefault_qms(5) As Integer
  235.     For i = 0 To 4
  236.         mai_parmtype_qms(i) = 1
  237.         mai_parmdefault_qms(i) = 1
  238.     Next i
  239.     
  240.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "JE_LJDFS", 4, 5, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  241.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  242.     
  243.     '8.年净发生额
  244.     ls_hssm = "函数名称:" & vbCrLf & _
  245.     "        JE_NJFSE ----年净发生额" & vbCrLf & _
  246.     "函数格式:" & vbCrLf & _
  247.     "        JE_NJFSE(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  248.     "参数表示:" & vbCrLf & _
  249.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  250.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  251.     "        辅助项1:可以输入“标识+辅助项码”,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  252.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  253.     "        辅助项2:同上?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  254.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  255.     ReDim mai_parmtype_qms(5) As Integer
  256.     ReDim mai_parmdefault_qms(5) As Integer
  257.     For i = 0 To 4
  258.         mai_parmtype_qms(i) = 1
  259.         mai_parmdefault_qms(i) = 1
  260.     Next i
  261.     
  262.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "JE_NJFSE", 4, 5, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  263.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  264.     
  265.     '9.月净发生额
  266.     ls_hssm = "函数名称:" & vbCrLf & _
  267.     "        JE_YJFSE ----月净发生额" & vbCrLf & _
  268.     "函数格式:" & vbCrLf & _
  269.     "        JE_YJFSE(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  270.     "参数表示:" & vbCrLf & _
  271.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  272.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  273.     "        辅助项1:可以输入“标识+辅助项码”,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  274.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  275.     "        辅助项2:同上?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  276.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  277.     ReDim mai_parmtype_qms(5) As Integer
  278.     ReDim mai_parmdefault_qms(5) As Integer
  279.     For i = 0 To 4
  280.         mai_parmtype_qms(i) = 1
  281.         mai_parmdefault_qms(i) = 1
  282.     Next i
  283.     
  284.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "JE_YJFSE", 4, 5, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  285.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  286.     
  287.     '1.年初数量
  288.     ls_hssm = "函数名称:" & vbCrLf & _
  289.     "        SL_NC ----年初数量" & vbCrLf & _
  290.     "函数格式:" & vbCrLf & _
  291.     "        SL_NC(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  292.     "参数表示:" & vbCrLf & _
  293.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  294.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  295.     "        辅助项1:可以输入“标识+辅助项码”,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  296.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  297.     "        辅助项2:同上?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  298.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  299.     ReDim mai_parmtype_ncs(5) As Integer
  300.     ReDim mai_parmdefault_ncs(5) As Integer
  301.     For i = 0 To 4
  302.         mai_parmtype_ncs(i) = 1
  303.         mai_parmdefault_ncs(i) = 1
  304.     Next i
  305.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "SL_NC", 4, 5, mai_parmtype_ncs(0), mai_parmdefault_ncs(0), ls_hssm)
  306.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  307.     
  308.     '2.期初数量
  309.     ls_hssm = "函数名称:" & vbCrLf & _
  310.     "        SL_QC ----期初数量" & vbCrLf & _
  311.     "函数格式:" & vbCrLf & _
  312.     "        SL_QC(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  313.     "参数表示:" & vbCrLf & _
  314.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  315.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  316.     "        辅助项1:可以输入“标识+辅助项码”,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  317.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  318.     "        辅助项2:同上?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  319.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  320.     ReDim mai_parmtype_qms(5) As Integer
  321.     ReDim mai_parmdefault_qms(5) As Integer
  322.     For i = 0 To 4
  323.         mai_parmtype_qms(i) = 1
  324.         mai_parmdefault_qms(i) = 1
  325.     Next i
  326.     
  327.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "SL_QC", 4, 5, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  328.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  329.     
  330.     '3.期末数量
  331.     ls_hssm = "函数名称:" & vbCrLf & _
  332.     "        SL_QM ----期末数量" & vbCrLf & _
  333.     "函数格式:" & vbCrLf & _
  334.     "        SL_QM(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  335.     "参数表示:" & vbCrLf & _
  336.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  337.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  338.     "        辅助项1:可以输入“标识+辅助项码”,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  339.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  340.     "        辅助项2:同上?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  341.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  342.     ReDim mai_parmtype_qms(5) As Integer
  343.     ReDim mai_parmdefault_qms(5) As Integer
  344.     For i = 0 To 4
  345.         mai_parmtype_qms(i) = 1
  346.         mai_parmdefault_qms(i) = 1
  347.     Next i
  348.     
  349.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "SL_QM", 4, 5, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  350.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  351.     
  352.     '4.本期借方发生数量
  353.     ls_hssm = "函数名称:" & vbCrLf & _
  354.     "        SL_BQJF ----本期借方发生数量" & vbCrLf & _
  355.     "函数格式:" & vbCrLf & _
  356.     "        SL_BQJF(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  357.     "参数表示:" & vbCrLf & _
  358.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  359.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  360.     "        辅助项1:可以输入“标识+辅助项码”,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  361.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  362.     "        辅助项2:同上?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  363.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  364.     ReDim mai_parmtype_qms(5) As Integer
  365.     ReDim mai_parmdefault_qms(5) As Integer
  366.     For i = 0 To 4
  367.         mai_parmtype_qms(i) = 1
  368.         mai_parmdefault_qms(i) = 1
  369.     Next i
  370.     
  371.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "SL_BQJF", 4, 5, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  372.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  373.     
  374.     '5.本期贷方发生数量
  375.     ls_hssm = "函数名称:" & vbCrLf & _
  376.     "        SL_BQDF ----本期贷方发生数量" & vbCrLf & _
  377.     "函数格式:" & vbCrLf & _
  378.     "        SL_BQDFS(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  379.     "参数表示:" & vbCrLf & _
  380.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  381.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  382.     "        辅助项1:可以输入“标识+辅助项码”,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  383.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  384.     "        辅助项2:同上?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  385.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  386.     ReDim mai_parmtype_qms(5) As Integer
  387.     ReDim mai_parmdefault_qms(5) As Integer
  388.     For i = 0 To 4
  389.         mai_parmtype_qms(i) = 1
  390.         mai_parmdefault_qms(i) = 1
  391.     Next i
  392.     
  393.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "SL_BQDF", 4, 5, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  394.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  395.     
  396.     '6.累计借方发生数量
  397.     ls_hssm = "函数名称:" & vbCrLf & _
  398.     "        SL_LJJF ----累计借方发生数量" & vbCrLf & _
  399.     "函数格式:" & vbCrLf & _
  400.     "        SL_LJJF(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  401.     "参数表示:" & vbCrLf & _
  402.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  403.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  404.     "        辅助项1:可以输入“标识+辅助项码”,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  405.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  406.     "        辅助项2:同上?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  407.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  408.     ReDim mai_parmtype_qms(5) As Integer
  409.     ReDim mai_parmdefault_qms(5) As Integer
  410.     For i = 0 To 4
  411.         mai_parmtype_qms(i) = 1
  412.         mai_parmdefault_qms(i) = 1
  413.     Next i
  414.     
  415.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "SL_LJJF", 4, 5, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  416.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  417.     
  418.     '7.累计贷方发生数量
  419.     ls_hssm = "函数名称:" & vbCrLf & _
  420.     "        SL_LJDF ----累计贷方发生数量" & vbCrLf & _
  421.     "函数格式:" & vbCrLf & _
  422.     "        SL_LJDF(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  423.     "参数表示:" & vbCrLf & _
  424.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  425.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  426.     "        辅助项1:可以输入“标识+辅助项码”,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  427.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  428.     "        辅助项2:同上?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  429.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  430.     ReDim mai_parmtype_qms(5) As Integer
  431.     ReDim mai_parmdefault_qms(5) As Integer
  432.     For i = 0 To 4
  433.         mai_parmtype_qms(i) = 1
  434.         mai_parmdefault_qms(i) = 1
  435.     Next i
  436.     
  437.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "SL_LJDF", 4, 5, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  438.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  439.     
  440.     '4.项目本期借方发生数量
  441.     ls_hssm = "函数名称:" & vbCrLf & _
  442.     "        XMSL_BQJF ----项目本期借方发生数量" & vbCrLf & _
  443.     "函数格式:" & vbCrLf & _
  444.     "        XMSL_BQJF(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  445.     "参数表示:" & vbCrLf & _
  446.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  447.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  448.     "        辅助项1:可以输入“标识+辅助项码”,不能为空,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  449.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  450.     "        辅助项2:同上,可以为空?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  451.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  452.     ReDim mai_parmtype_qms(5) As Integer
  453.     ReDim mai_parmdefault_qms(5) As Integer
  454.     For i = 0 To 4
  455.         mai_parmtype_qms(i) = 1
  456.         mai_parmdefault_qms(i) = 1
  457.     Next i
  458.     
  459.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "XMSL_BQJF", 4, 5, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  460.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  461.     
  462.     '5.项目本期贷方发生数量
  463.     ls_hssm = "函数名称:" & vbCrLf & _
  464.     "        XMSL_BQDF ----项目本期贷方发生数量" & vbCrLf & _
  465.     "函数格式:" & vbCrLf & _
  466.     "        XMSL_BQDF(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  467.     "参数表示:" & vbCrLf & _
  468.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  469.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  470.     "        辅助项1:可以输入“标识+辅助项码”,不能为空,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  471.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  472.     "        辅助项2:同上,可以为空?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  473.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  474.     ReDim mai_parmtype_qms(5) As Integer
  475.     ReDim mai_parmdefault_qms(5) As Integer
  476.     For i = 0 To 4
  477.         mai_parmtype_qms(i) = 1
  478.         mai_parmdefault_qms(i) = 1
  479.     Next i
  480.     
  481.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "XMSL_BQDF", 4, 5, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  482.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  483.     
  484.     '6.项目累计借方发生数量
  485.     ls_hssm = "函数名称:" & vbCrLf & _
  486.     "        XMSL_LJJF ----项目累计借方发生数量" & vbCrLf & _
  487.     "函数格式:" & vbCrLf & _
  488.     "        XMSL_LJJF(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  489.     "参数表示:" & vbCrLf & _
  490.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  491.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  492.     "        辅助项1:可以输入“标识+辅助项码”,不能为空,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  493.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  494.     "        辅助项2:同上,可以为空?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  495.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  496.     ReDim mai_parmtype_qms(5) As Integer
  497.     ReDim mai_parmdefault_qms(5) As Integer
  498.     For i = 0 To 4
  499.         mai_parmtype_qms(i) = 1
  500.         mai_parmdefault_qms(i) = 1
  501.     Next i
  502.     
  503.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "XMSL_LJJF", 4, 5, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  504.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  505.     
  506.     '7.项目累计贷方发生数量
  507.     ls_hssm = "函数名称:" & vbCrLf & _
  508.     "        XMSL_LJDF ----项目累计贷方发生数量" & vbCrLf & _
  509.     "函数格式:" & vbCrLf & _
  510.     "        XMSL_LJDF(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  511.     "参数表示:" & vbCrLf & _
  512.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  513.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  514.     "        辅助项1:可以输入“标识+辅助项码”,不能为空,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  515.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  516.     "        辅助项2:同上,可以为空?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  517.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  518.     ReDim mai_parmtype_qms(5) As Integer
  519.     ReDim mai_parmdefault_qms(5) As Integer
  520.     For i = 0 To 4
  521.         mai_parmtype_qms(i) = 1
  522.         mai_parmdefault_qms(i) = 1
  523.     Next i
  524.     
  525.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "XMSL_LJDF", 4, 5, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  526.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  527.     
  528.     '8.年净发生数量
  529.     ls_hssm = "函数名称:" & vbCrLf & _
  530.     "        SL_NJFS ----年净发生数量" & vbCrLf & _
  531.     "函数格式:" & vbCrLf & _
  532.     "        SL_NJFS(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  533.     "参数表示:" & vbCrLf & _
  534.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  535.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  536.     "        辅助项1:可以输入“标识+辅助项码”,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  537.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  538.     "        辅助项2:同上?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  539.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  540.     ReDim mai_parmtype_qms(5) As Integer
  541.     ReDim mai_parmdefault_qms(5) As Integer
  542.     For i = 0 To 4
  543.         mai_parmtype_qms(i) = 1
  544.         mai_parmdefault_qms(i) = 1
  545.     Next i
  546.     
  547.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "SL_NJFS", 4, 5, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  548.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  549.     
  550.     '9.月净发生数量
  551.     ls_hssm = "函数名称:" & vbCrLf & _
  552.     "        SL_YJFS ----月净发生数量" & vbCrLf & _
  553.     "函数格式:" & vbCrLf & _
  554.     "        SL_YJFS(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  555.     "参数表示:" & vbCrLf & _
  556.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  557.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  558.     "        辅助项1:可以输入“标识+辅助项码”,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  559.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  560.     "        辅助项2:同上?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  561.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  562.     ReDim mai_parmtype_qms(5) As Integer
  563.     ReDim mai_parmdefault_qms(5) As Integer
  564.     For i = 0 To 4
  565.         mai_parmtype_qms(i) = 1
  566.         mai_parmdefault_qms(i) = 1
  567.     Next i
  568.     
  569.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "SL_YJFS", 4, 5, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  570.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  571.     
  572.     '1.年初外币
  573.     ls_hssm = "函数名称:" & vbCrLf & _
  574.     "        WB_NC ----年初外币" & vbCrLf & _
  575.     "函数格式:" & vbCrLf & _
  576.     "        WB_NC(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  577.     "参数表示:" & vbCrLf & _
  578.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  579.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  580.     "        辅助项1:可以输入“标识+辅助项码”,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  581.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  582.     "        辅助项2:同上?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  583.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  584.     ReDim mai_parmtype_ncs(5) As Integer
  585.     ReDim mai_parmdefault_ncs(5) As Integer
  586.     For i = 0 To 4
  587.         mai_parmtype_ncs(i) = 1
  588.         mai_parmdefault_ncs(i) = 1
  589.     Next i
  590.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "WB_NC", 4, 5, mai_parmtype_ncs(0), mai_parmdefault_ncs(0), ls_hssm)
  591.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  592.     
  593.     '2.期初外币
  594.     ls_hssm = "函数名称:" & vbCrLf & _
  595.     "        WB_QC ----期初外币" & vbCrLf & _
  596.     "函数格式:" & vbCrLf & _
  597.     "        WB_QC(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  598.     "参数表示:" & vbCrLf & _
  599.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  600.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  601.     "        辅助项1:可以输入“标识+辅助项码”,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  602.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  603.     "        辅助项2:同上?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  604.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  605.     ReDim mai_parmtype_qms(5) As Integer
  606.     ReDim mai_parmdefault_qms(5) As Integer
  607.     For i = 0 To 4
  608.         mai_parmtype_qms(i) = 1
  609.         mai_parmdefault_qms(i) = 1
  610.     Next i
  611.     
  612.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "WB_QC", 4, 5, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  613.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  614.     
  615.     '3.期末外币
  616.     ls_hssm = "函数名称:" & vbCrLf & _
  617.     "        WB_QM ----期末外币" & vbCrLf & _
  618.     "函数格式:" & vbCrLf & _
  619.     "        WB_QM(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  620.     "参数表示:" & vbCrLf & _
  621.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  622.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  623.     "        辅助项1:可以输入“标识+辅助项码”,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  624.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  625.     "        辅助项2:同上?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  626.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  627.     ReDim mai_parmtype_qms(5) As Integer
  628.     ReDim mai_parmdefault_qms(5) As Integer
  629.     For i = 0 To 4
  630.         mai_parmtype_qms(i) = 1
  631.         mai_parmdefault_qms(i) = 1
  632.     Next i
  633.     
  634.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "WB_QM", 4, 5, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  635.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  636.     
  637.     '4.本期借方发生外币
  638.     ls_hssm = "函数名称:" & vbCrLf & _
  639.     "        WB_BQJF ----本期借方发生外币" & vbCrLf & _
  640.     "函数格式:" & vbCrLf & _
  641.     "        WB_BQJF(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  642.     "参数表示:" & vbCrLf & _
  643.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  644.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  645.     "        辅助项1:可以输入“标识+辅助项码”,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  646.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  647.     "        辅助项2:同上?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  648.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  649.     ReDim mai_parmtype_qms(5) As Integer
  650.     ReDim mai_parmdefault_qms(5) As Integer
  651.     For i = 0 To 4
  652.         mai_parmtype_qms(i) = 1
  653.         mai_parmdefault_qms(i) = 1
  654.     Next i
  655.     
  656.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "WB_BQJF", 4, 5, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  657.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  658.     
  659.     '5.本期贷方发生外币
  660.     ls_hssm = "函数名称:" & vbCrLf & _
  661.     "        WB_BQDF ----本期贷方发生外币" & vbCrLf & _
  662.     "函数格式:" & vbCrLf & _
  663.     "        WB_BQDFS(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  664.     "参数表示:" & vbCrLf & _
  665.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  666.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  667.     "        辅助项1:可以输入“标识+辅助项码”,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  668.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  669.     "        辅助项2:同上?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  670.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  671.     ReDim mai_parmtype_qms(5) As Integer
  672.     ReDim mai_parmdefault_qms(5) As Integer
  673.     For i = 0 To 4
  674.         mai_parmtype_qms(i) = 1
  675.         mai_parmdefault_qms(i) = 1
  676.     Next i
  677.     
  678.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "WB_BQDF", 4, 5, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  679.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  680.     
  681.     '6.累计借方发生外币
  682.     ls_hssm = "函数名称:" & vbCrLf & _
  683.     "        WB_LJJF ----累计借方发生外币" & vbCrLf & _
  684.     "函数格式:" & vbCrLf & _
  685.     "        WB_LJJF(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  686.     "参数表示:" & vbCrLf & _
  687.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  688.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  689.     "        辅助项1:可以输入“标识+辅助项码”,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  690.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  691.     "        辅助项2:同上?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  692.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  693.     ReDim mai_parmtype_qms(5) As Integer
  694.     ReDim mai_parmdefault_qms(5) As Integer
  695.     For i = 0 To 4
  696.         mai_parmtype_qms(i) = 1
  697.         mai_parmdefault_qms(i) = 1
  698.     Next i
  699.     
  700.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "WB_LJJF", 4, 5, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  701.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  702.     
  703.     '7.累计贷方发生外币
  704.     ls_hssm = "函数名称:" & vbCrLf & _
  705.     "        WB_LJDF ----累计贷方发生外币" & vbCrLf & _
  706.     "函数格式:" & vbCrLf & _
  707.     "        WB_LJDF(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  708.     "参数表示:" & vbCrLf & _
  709.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  710.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  711.     "        辅助项1:可以输入“标识+辅助项码”,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  712.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  713.     "        辅助项2:同上?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  714.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  715.     ReDim mai_parmtype_qms(5) As Integer
  716.     ReDim mai_parmdefault_qms(5) As Integer
  717.     For i = 0 To 4
  718.         mai_parmtype_qms(i) = 1
  719.         mai_parmdefault_qms(i) = 1
  720.     Next i
  721.     
  722.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "WB_LJDF", 4, 5, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  723.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  724.     
  725.     '8.年净发生外币
  726.     ls_hssm = "函数名称:" & vbCrLf & _
  727.     "        WB_NJFS ----年净发生外币" & vbCrLf & _
  728.     "函数格式:" & vbCrLf & _
  729.     "        WB_NJFS(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  730.     "参数表示:" & vbCrLf & _
  731.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  732.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  733.     "        辅助项1:可以输入“标识+辅助项码”,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  734.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  735.     "        辅助项2:同上?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  736.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  737.     ReDim mai_parmtype_qms(5) As Integer
  738.     ReDim mai_parmdefault_qms(5) As Integer
  739.     For i = 0 To 4
  740.         mai_parmtype_qms(i) = 1
  741.         mai_parmdefault_qms(i) = 1
  742.     Next i
  743.     
  744.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "WB_NJFS", 4, 5, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  745.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  746.     
  747.     '9.月净发生外币
  748.     ls_hssm = "函数名称:" & vbCrLf & _
  749.     "        WB_YJFS ----月净发生外币" & vbCrLf & _
  750.     "函数格式:" & vbCrLf & _
  751.     "        WB_YJFS(""科目编码"",""年"",""月"",""辅助项1"",""辅助项2"")" & vbCrLf & _
  752.     "参数表示:" & vbCrLf & _
  753.     "        年:可以输入“本年”?“去年”或任意数值?" & vbCrLf & _
  754.     "        月:可以输入“本月”?“上月”或1--12任意数值?" & vbCrLf & _
  755.     "        辅助项1:可以输入“标识+辅助项码”,其中标识为:  P-职员 D-部门 C-往来客户 S-供应商 I-项目分类 J-项目?" & _
  756.     "例如:P0500表示编码为0500的职员?" & vbCrLf & _
  757.     "        辅助项2:同上?区别:只有在辅助项1有内容时才起作用,增加一个标识“*”,当输入“*”时,表示取辅助项1的汇总数?" & _
  758.     "例如:辅助项1为“财务部”,辅助项2为“*”,表示取财务部所有人员的费用总和?"
  759.     ReDim mai_parmtype_qms(5) As Integer
  760.     ReDim mai_parmdefault_qms(5) As Integer
  761.     For i = 0 To 4
  762.         mai_parmtype_qms(i) = 1
  763.         mai_parmdefault_qms(i) = 1
  764.     Next i
  765.     
  766.     rt = Cell1.DoAddUserFunctionEx("财务总帐函数", "WB_YJFS", 4, 5, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  767.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  768.     
  769.     '10.年
  770.     ls_hssm = "函数名称:" & vbCrLf & _
  771.     "    DATE_Y ----年" & vbCrLf & _
  772.     "函数格式:" & vbCrLf & _
  773.     "    DATE_Y(""年"")" & vbCrLf & _
  774.     "    年可以输入“2000”?“1999”或任意数值?"
  775.     ReDim mai_parmtype_qms(1) As Integer
  776.     ReDim mai_parmdefault_qms(1) As Integer
  777.     mai_parmtype_qms(0) = 1
  778.     mai_parmdefault_qms(0) = Year(Xtrq)
  779.     
  780.     rt = Cell1.DoAddUserFunctionEx("系统基本函数", "DATE_Y", 4, 1, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  781.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  782.     
  783.     '11.月
  784.     ls_hssm = "函数名称:" & vbCrLf & _
  785.     "    DATE_M----月" & vbCrLf & _
  786.     "函数格式:" & vbCrLf & _
  787.     "    DATE_M(""月"")" & vbCrLf & _
  788.     "   月可以输入“1”?“2”?......?“12”?"
  789.     ReDim mai_parmtype_qms(1) As Integer
  790.     ReDim mai_parmdefault_qms(1) As Integer
  791.     
  792.     mai_parmtype_qms(0) = 1
  793.     mai_parmdefault_qms(0) = Month(Xtrq)
  794.     
  795.     rt = Cell1.DoAddUserFunctionEx("系统基本函数", "DATE_M", 4, 1, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  796.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  797.     
  798.     '12.日
  799.     ls_hssm = "函数名称:" & vbCrLf & _
  800.     "    DATE_D----日" & vbCrLf & _
  801.     "函数格式:" & vbCrLf & _
  802.     "    DATE_D(""日"")" & vbCrLf & _
  803.     "   日可以输入“1”?“2”?“3”?.....等但不能大于当前月末的日?"
  804.     ReDim mai_parmtype_qms(1) As Integer
  805.     ReDim mai_parmdefault_qms(1) As Integer
  806.     mai_parmtype_qms(0) = 1
  807.     mai_parmdefault_qms(0) = Day(Xtrq)
  808.     
  809.     rt = Cell1.DoAddUserFunctionEx("系统基本函数", "DATE_D", 4, 1, mai_parmtype_qms(0), mai_parmdefault_qms(0), ls_hssm)
  810.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  811.     
  812.     '13.从第X页表
  813.     ls_hssm = "函数名称:" & vbCrLf & _
  814.     "    GETDATAFPAGE----从第X页表的第I列?第J行取数据" & vbCrLf & _
  815.     "函数格式:" & vbCrLf & _
  816.     "    GETDATAFPAGE(""页码"",""行号"",""列号"")" & vbCrLf & _
  817.     "   页码可以输入“1”到 当前页表数 " & vbCrLf & _
  818.     "   行号可以输入“1”到 最大行数" & vbCrLf & _
  819.     "   列号可以输入“1”到 最大列数? "
  820.     ReDim mai_parmtype_ncs(3) As Integer
  821.     ReDim mai_parmdefault_ncs(3) As Integer
  822.     mai_parmtype_ncs(0) = 1
  823.     mai_parmtype_ncs(1) = 1
  824.     mai_parmtype_ncs(2) = 1
  825.     mai_parmdefault_ncs(0) = 1
  826.     mai_parmdefault_ncs(1) = 1
  827.     mai_parmdefault_ncs(2) = 1
  828.     
  829.     rt = Cell1.DoAddUserFunctionEx("系统基本函数", "GETDATAFPAGE", 4, 3, mai_parmtype_ncs(0), mai_parmdefault_ncs(0), ls_hssm)
  830.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  831.     
  832.     '14.编制单位
  833.     ls_hssm = "函数名称:" & vbCrLf & _
  834.     "    ENTERPRISE----编制单位" & vbCrLf & _
  835.     "函数格式:" & vbCrLf & _
  836.     "    ENTERPRISE()" & vbCrLf & _
  837.     "  不许任何参数? "
  838.     ReDim mai_parmtype_ncs(1) As Integer
  839.     ReDim mai_parmdefault_ncs(1) As Integer
  840.     mai_parmtype_ncs(0) = 1
  841.     mai_parmdefault_ncs(0) = 1
  842.     rt = Cell1.DoAddUserFunctionEx("系统基本函数", "ENTERPRISE", 4, 0, mai_parmtype_ncs(0), mai_parmdefault_ncs(0), ls_hssm)
  843.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  844.     
  845.     '14.系统操作员
  846.     ls_hssm = "函数名称:" & vbCrLf & _
  847.     "    OPERATOR----系统操作员" & vbCrLf & _
  848.     "函数格式:" & vbCrLf & _
  849.     "    OPERATOR()" & vbCrLf & _
  850.     "  不许任何参数? "
  851.     ReDim mai_parmtype_ncs(1) As Integer
  852.     ReDim mai_parmdefault_ncs(1) As Integer
  853.     mai_parmtype_ncs(0) = 1
  854.     mai_parmdefault_ncs(0) = 1
  855.     rt = Cell1.DoAddUserFunctionEx("系统基本函数", "OPERATOR", 4, 0, mai_parmtype_ncs(0), mai_parmdefault_ncs(0), ls_hssm)
  856.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  857.     
  858.     '15.SQL语句 all
  859.     ls_hssm = "函数名称:SQL_ALL" & vbCrLf & _
  860.     "    生成SQL语句查询出的结果报表" & vbCrLf & _
  861.     "函数格式:" & vbCrLf & _
  862.     "    SQL_ALL(""SQL语句"",""年月字段名"",""年"",""月"",""标志"")" & vbCrLf & _
  863.     "参数必须为如下格式:" & vbCrLf & _
  864.     "    SQL语句:select 字段名 [as 别名] from 数据表名 [where 条件] " & vbCrLf & _
  865.     "    年月字段名:输入库中年月字段名,若年月为两个字段,用逗号分隔" & vbCrLf & _
  866.     "           若年月字段为字符型,在年月字段名末尾加一个 $ 符号" & vbCrLf & _
  867.     "           若该参数为空时,后面年月参数不起作用" & vbCrLf & _
  868.     "    年: 可以输入本年?去年 或2000?1999等任何数字" & vbCrLf & _
  869.     "    月: 可以输入本月?上月 或1?...?12等? " & vbCrLf & _
  870.     "    标志:  0--不显示字段名 1--显示字段名"
  871.     
  872.     ReDim mai_parmtype_ncs(5) As Integer
  873.     ReDim mai_parmdefault_ncs(5) As Integer
  874.     For i = 0 To 5
  875.         mai_parmtype_ncs(i) = 1
  876.         mai_parmdefault_ncs(i) = 1
  877.     Next i
  878.     
  879.     rt = Cell1.DoAddUserFunctionEx("SQL通用函数", "SQL_ALL", 4, 5, mai_parmtype_ncs(0), mai_parmdefault_ncs(0), ls_hssm)
  880.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  881.     
  882.     '15.SQL语句 RowCol
  883.     ls_hssm = "函数名称:SQL_RowCol" & vbCrLf & _
  884.     "    生成SQL语句查询出的结果报表(不带网格)" & vbCrLf & _
  885.     "函数格式:" & vbCrLf & _
  886.     "    SQL_RowCol(""SQL语句"",""年月字段名"",""年"",""月"")" & vbCrLf & _
  887.     "参数必须为如下格式:" & vbCrLf & _
  888.     "    SQL语句:select 字段名 [as 别名] from 数据表名 [where 条件] " & vbCrLf & _
  889.     "    年月字段名:输入库中年月字段名,若年月为两个字段,用逗号分隔" & vbCrLf & _
  890.     "           若年月字段为字符型,在年月字段名末尾加一个 $ 符号" & vbCrLf & _
  891.     "           若该参数为空时,后面年月参数不起作用" & vbCrLf & _
  892.     "    年: 可以输入本年?去年 或2000?1999等任何数字" & vbCrLf & _
  893.     "    月: 可以输入本月?上月 或1?...?12等? "
  894.     
  895.     ReDim mai_parmtype_ncs(4) As Integer
  896.     ReDim mai_parmdefault_ncs(4) As Integer
  897.     For i = 0 To 4
  898.         mai_parmtype_ncs(i) = 1
  899.         mai_parmdefault_ncs(i) = 1
  900.     Next i
  901.     
  902.     rt = Cell1.DoAddUserFunctionEx("SQL通用函数", "SQL_RowCol", 4, 4, mai_parmtype_ncs(0), mai_parmdefault_ncs(0), ls_hssm)
  903.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  904.     
  905.     '16.SQL语句 ODBC
  906.     ls_hssm = "函数名称:SQL_ODBC" & vbCrLf & _
  907.     "    生成SQL语句查询出的结果报表" & vbCrLf & _
  908.     "函数格式:" & vbCrLf & _
  909.     "    SQL_ODBC(""SQL语句"",""机器数据源名"",""用户标识"",""口令"")" & vbCrLf & _
  910.     "参数必须为如下格式:" & vbCrLf & _
  911.     "    SQL语句: select 字段名 [as 别名] from 数据表名 [where 条件]? " & vbCrLf & _
  912.     "    机器数据源名: 由ODBC定义的机器数据源名" & vbCrLf & _
  913.     "    用户标识: 使用数据库合法的用户标识 " & vbCrLf & _
  914.     "    口令:  用户口令"
  915.     ReDim mai_parmtype_ncs(4) As Integer
  916.     ReDim mai_parmdefault_ncs(4) As Integer
  917.     For i = 0 To 4
  918.         mai_parmtype_ncs(i) = 1
  919.         mai_parmdefault_ncs(i) = 1
  920.     Next i
  921.     
  922.     rt = Cell1.DoAddUserFunctionEx("SQL通用函数", "SQL_ODBC", 4, 4, mai_parmtype_ncs(0), mai_parmdefault_ncs(0), ls_hssm)
  923.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  924.     
  925.     '17.SQL语句 CELL
  926.     ls_hssm = "函数名称:SQL_CELL" & vbCrLf & _
  927.     "    返回SQL语句查询结果的第一个字段内容填入单元格" & vbCrLf & _
  928.     "函数格式:" & vbCrLf & _
  929.     "    SQL_CELL(""SQL语句"",""年月字段名"",""年"",""月"")" & vbCrLf & _
  930.     "参数必须为如下格式:" & vbCrLf & _
  931.     "    SQL语句:select 字段名 [as 别名] from 数据表名 [where 条件] " & vbCrLf & _
  932.     "    年月字段名:输入库中年月字段名,若年月为两个字段,用逗号分隔" & vbCrLf & _
  933.     "                若年月字段为字符型,在年月字段名末尾加一个 $ 符号" & vbCrLf & _
  934.     "           若该参数为空时,后面年月参数不起作用" & vbCrLf & _
  935.     "    年: 可以输入本年?去年 或2000?1999等任何数字" & vbCrLf & _
  936.     "    月: 可以输入本月?上月 或1?...?12等? "
  937.     ReDim mai_parmtype_ncs(4) As Integer
  938.     ReDim mai_parmdefault_ncs(4) As Integer
  939.     For i = 0 To 4
  940.         mai_parmtype_ncs(i) = 1
  941.         mai_parmdefault_ncs(i) = 1
  942.     Next i
  943.     
  944.     rt = Cell1.DoAddUserFunctionEx("SQL通用函数", "SQL_Cell", 4, 4, mai_parmtype_ncs(0), mai_parmdefault_ncs(0), ls_hssm)
  945.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  946.     
  947.     '18.SQL语句 col
  948.     ls_hssm = "函数名称:SQL_Col" & vbCrLf & _
  949.     "    返回SQL语句查询结果的第一个字段内容填入单元格所在的列" & vbCrLf & _
  950.     "函数格式:" & vbCrLf & _
  951.     "    SQL_Col(""SQL语句"",""年月字段名"",""年"",""月"")" & vbCrLf & _
  952.     "参数必须为如下格式:" & vbCrLf & _
  953.     "    SQL语句:select 字段名 [as 别名] from 数据表名 [where 条件] " & vbCrLf & _
  954.     "    年月字段名:输入库中年月字段名,若年月为两个字段,用逗号分隔" & vbCrLf & _
  955.     "                若年月字段为字符型,在年月字段名末尾加一个 $ 符号" & vbCrLf & _
  956.     "           若该参数为空时,后面年月参数不起作用" & vbCrLf & _
  957.     "    年: 可以输入本年?去年 或2000?1999等任何数字" & vbCrLf & _
  958.     "    月: 可以输入本月?上月 或1?...?12等? "
  959.     ReDim mai_parmtype_ncs(4) As Integer
  960.     ReDim mai_parmdefault_ncs(4) As Integer
  961.     For i = 0 To 4
  962.         mai_parmtype_ncs(i) = 1
  963.         mai_parmdefault_ncs(i) = 1
  964.     Next i
  965.     
  966.     rt = Cell1.DoAddUserFunctionEx("SQL通用函数", "SQL_Col", 4, 4, mai_parmtype_ncs(0), mai_parmdefault_ncs(0), ls_hssm)
  967.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  968.     
  969.     '19.SQL语句 row
  970.     ls_hssm = "函数名称:SQL_Row" & vbCrLf & _
  971.     "    返回SQL语句查询结果的第一个字段内容填入单元格所在的行" & vbCrLf & _
  972.     "函数格式:" & vbCrLf & _
  973.     "    SQL_Row(""SQL语句"",""年月字段名"",""年"",""月"")" & vbCrLf & _
  974.     "参数必须为如下格式:" & vbCrLf & _
  975.     "    SQL语句:select 字段名 [as 别名] from 数据表名 [where 条件] " & vbCrLf & _
  976.     "    年月字段名:输入库中年月字段名,若年月为两个字段,用逗号分隔" & vbCrLf & _
  977.     "                若年月字段为字符型,在年月字段名末尾加一个 $ 符号" & vbCrLf & _
  978.     "           若该参数为空时,后面年月参数不起作用" & vbCrLf & _
  979.     "    年: 可以输入本年?去年 或2000?1999等任何数字" & vbCrLf & _
  980.     "    月: 可以输入本月?上月 或1?...?12等? "
  981.     
  982.     ReDim mai_parmtype_ncs(4) As Integer
  983.     ReDim mai_parmdefault_ncs(4) As Integer
  984.     For i = 0 To 4
  985.         mai_parmtype_ncs(i) = 1
  986.         mai_parmdefault_ncs(i) = 1
  987.     Next i
  988.     
  989.     rt = Cell1.DoAddUserFunctionEx("SQL通用函数", "SQL_Row", 4, 4, mai_parmtype_ncs(0), mai_parmdefault_ncs(0), ls_hssm)
  990.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  991.     
  992.     '20.读取电子报表系统数据
  993.     ls_hssm = "函数名称:READ_DATA" & vbCrLf & _
  994.     "    追加一个表页,返回满足条件的电子报表系统月报数据" & vbCrLf & _
  995.     "函数格式:" & vbCrLf & _
  996.     "    READ_DATA(""应用系统编号"",""报表模板编号"",""年"",""月"")" & vbCrLf & _
  997.     "参数必须为如下格式:" & vbCrLf & _
  998.     "    应用系统编号:输入当前所使用的应用系统编号 " & vbCrLf & _
  999.     "    报表模板编号:输入要读取报表数据的报表模板编号 " & vbCrLf & _
  1000.     "    年: 可以输入本年?去年 或2000?1999等任何数字" & vbCrLf & _
  1001.     "    月: 可以输入本月?上月 或1?...?12等? "
  1002.     ReDim mai_parmtype_ncs(4) As Integer
  1003.     ReDim mai_parmdefault_ncs(4) As Integer
  1004.     For i = 0 To 4
  1005.         mai_parmtype_ncs(i) = 1
  1006.         mai_parmdefault_ncs(i) = 1
  1007.     Next i
  1008.     
  1009.     rt = Cell1.DoAddUserFunctionEx("系统基本函数", "READ_DATA", 4, 4, mai_parmtype_ncs(0), mai_parmdefault_ncs(0), ls_hssm)
  1010.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  1011.     
  1012.     
  1013.     '22.保存数据到数据库中
  1014.     ls_hssm = "函数名称:SAVE_DATA" & vbCrLf & _
  1015.     "    将CELL控件中某些单元格数据写入数据库的数据表中" & vbCrLf & _
  1016.     "函数格式:" & vbCrLf & _
  1017.     "    SAVE_DATA(""数据表名"",""单元格字符串"")" & vbCrLf & _
  1018.     "参数必须为如下格式:" & vbCrLf & _
  1019.     "    数据表名:要写入数据的数据表名 " & vbCrLf & _
  1020.     "    单元格字符串:指定单元格位置,单元格与单元格之间需要用$字符分隔" & vbCrLf & _
  1021.     " 如:A2$B3$D3表示将A2?B3?D3单元格内容写入指定数据表的一条记录中,第一个单元格为关键字?"
  1022.     ReDim mai_parmtype_ncs(2) As Integer
  1023.     ReDim mai_parmdefault_ncs(2) As Integer
  1024.     For i = 0 To 2
  1025.         mai_parmtype_ncs(i) = 1
  1026.         mai_parmdefault_ncs(i) = 1
  1027.     Next i
  1028.     
  1029.     rt = Cell1.DoAddUserFunctionEx("系统基本函数", "SAVE_DATA", 4, 2, mai_parmtype_ncs(0), mai_parmdefault_ncs(0), ls_hssm)
  1030.     If rt = False Then MsgBox "增加用户自定义函数失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  1031.     
  1032. End Function
  1033. Public Sub mf_saveas()
  1034.     Dim ls_filename As String
  1035.     CommonDialog1.Filter = "CLL文件(*.cll)|*.cll|"
  1036.     CommonDialog1.Flags = cdlOFNFileMustExist
  1037.     
  1038.        
  1039.     Select Case Me.ml_edit_lx
  1040.     Case 1
  1041.         CommonDialog1.FileName = Me.mcls_open_report.ls_report_model_name
  1042.     Case 2
  1043.         CommonDialog1.FileName = Me.mcls_open_report_model.ls_report_model_name
  1044.     Case 3
  1045.         CommonDialog1.FileName = ms_filename
  1046.     Case 4
  1047.         CommonDialog1.FileName = Me.mcls_new_report.ls_report_model_name
  1048.     Case 5
  1049.         CommonDialog1.FileName = Me.mcls_new_report_model.ls_report_model_name
  1050.     Case 6
  1051.         CommonDialog1.FileName = Right(Me.Caption, Len(Me.Caption) - 9)
  1052.     
  1053.     End Select
  1054.     
  1055.     CommonDialog1.FileName = ""
  1056.     CommonDialog1.DialogTitle = "请输入您要保存的文件的名称"
  1057.     CommonDialog1.ShowSave
  1058.     ls_filename = CommonDialog1.FileName
  1059.     
  1060.     If Len(Trim(ls_filename)) = 0 Then
  1061.         Exit Sub
  1062.     End If
  1063.     
  1064.     If Cell1.DoSaveFile(ls_filename) > 0 Then
  1065.         ms_filename = ls_filename
  1066.         Me.Caption = "编辑表格:    " & ms_filename
  1067.         Me.ml_edit_lx = 3
  1068.         Me.Cell1.DoSetModifiedFlag False
  1069.     Else
  1070.         MsgBox "文件保存失败", vbOKOnly + vbExclamation, "百利/ERP5.0-电子报表"
  1071.         Exit Sub
  1072.     End If
  1073.     
  1074. End Sub
  1075. Private Function mf_cell_login() As Boolean
  1076.     mf_cell_login = Cell1.DoLogin("北京华夏新达科技股份有限公司", 325, "00FD18FF080193035CFE09FF7D09")
  1077.     mf_cell_login = True
  1078. End Function
  1079.                   
  1080. Private Sub mf_cell_toolbar() '设置与当前单元相关的工具栏状态
  1081.     Dim ls_fontname, ll_size, ll_style
  1082.     Dim ll_forecolor, ll_backcolor, ll_alignment As Long
  1083.     
  1084.     On Error Resume Next
  1085.     Cell1.DoGetCellFont ml_col, ml_row, ll_size, ll_style, ls_fontname
  1086.     ll_alignment = Cell1.DoGetCellAlignment(ml_col, ml_row)
  1087.     With MDI_frame
  1088.         .Combo2.Text = CStr(ll_size) '设置字体大小工具栏
  1089.         If Cell1.DoGetCellTextStyle(ml_col, ml_row) = 1 Then
  1090.             .Toolbar3.Buttons("zhxs").Value = tbrPressed
  1091.         Else
  1092.             .Toolbar3.Buttons("zhxs").Value = tbrUnpressed
  1093.         End If
  1094.         
  1095.         Select Case ll_alignment '设置对齐
  1096.         Case 9
  1097.             .Toolbar3.Buttons("left").Value = tbrPressed
  1098.             .Toolbar3.Buttons("mid_sp").Value = tbrUnpressed
  1099.             .Toolbar3.Buttons("right").Value = tbrUnpressed
  1100.             .Toolbar3.Buttons("top").Value = tbrPressed
  1101.             .Toolbar3.Buttons("mid_cz").Value = tbrUnpressed
  1102.             .Toolbar3.Buttons("bottom").Value = tbrUnpressed
  1103.             
  1104.         Case 33
  1105.             .Toolbar3.Buttons("left").Value = tbrPressed
  1106.             .Toolbar3.Buttons("mid_sp").Value = tbrUnpressed
  1107.             .Toolbar3.Buttons("right").Value = tbrUnpressed
  1108.             .Toolbar3.Buttons("top").Value = tbrUnpressed
  1109.             .Toolbar3.Buttons("mid_cz").Value = tbrPressed
  1110.             .Toolbar3.Buttons("bottom").Value = tbrUnpressed
  1111.             
  1112.         Case 17, 0
  1113.             .Toolbar3.Buttons("left").Value = tbrPressed
  1114.             .Toolbar3.Buttons("mid_sp").Value = tbrUnpressed
  1115.             .Toolbar3.Buttons("right").Value = tbrUnpressed
  1116.             .Toolbar3.Buttons("top").Value = tbrUnpressed
  1117.             .Toolbar3.Buttons("mid_cz").Value = tbrUnpressed
  1118.             .Toolbar3.Buttons("bottom").Value = tbrPressed
  1119.             
  1120.         Case 12
  1121.             .Toolbar3.Buttons("left").Value = tbrUnpressed
  1122.             .Toolbar3.Buttons("mid_sp").Value = tbrPressed
  1123.             .Toolbar3.Buttons("right").Value = tbrUnpressed
  1124.             .Toolbar3.Buttons("top").Value = tbrPressed
  1125.             .Toolbar3.Buttons("mid_cz").Value = tbrUnpressed
  1126.             .Toolbar3.Buttons("bottom").Value = tbrUnpressed
  1127.             
  1128.         Case 36
  1129.             .Toolbar3.Buttons("left").Value = tbrUnpressed
  1130.             .Toolbar3.Buttons("mid_sp").Value = tbrPressed
  1131.             .Toolbar3.Buttons("right").Value = tbrUnpressed
  1132.             .Toolbar3.Buttons("top").Value = tbrUnpressed
  1133.             .Toolbar3.Buttons("mid_cz").Value = tbrPressed
  1134.             .Toolbar3.Buttons("bottom").Value = tbrUnpressed
  1135.             
  1136.         Case 20
  1137.             .Toolbar3.Buttons("left").Value = tbrUnpressed
  1138.             .Toolbar3.Buttons("mid_sp").Value = tbrPressed
  1139.             .Toolbar3.Buttons("right").Value = tbrUnpressed
  1140.             .Toolbar3.Buttons("top").Value = tbrUnpressed
  1141.             .Toolbar3.Buttons("mid_cz").Value = tbrUnpressed
  1142.             .Toolbar3.Buttons("bottom").Value = tbrPressed
  1143.             
  1144.         Case 10
  1145.             .Toolbar3.Buttons("left").Value = tbrUnpressed
  1146.             .Toolbar3.Buttons("mid_sp").Value = tbrUnpressed
  1147.             .Toolbar3.Buttons("right").Value = tbrPressed
  1148.             .Toolbar3.Buttons("top").Value = tbrPressed
  1149.             .Toolbar3.Buttons("mid_cz").Value = tbrUnpressed
  1150.             .Toolbar3.Buttons("bottom").Value = tbrUnpressed
  1151.             
  1152.         Case 34
  1153.             .Toolbar3.Buttons("left").Value = tbrUnpressed
  1154.             .Toolbar3.Buttons("mid_sp").Value = tbrUnpressed
  1155.             .Toolbar3.Buttons("right").Value = tbrPressed
  1156.             .Toolbar3.Buttons("top").Value = tbrUnpressed
  1157.             .Toolbar3.Buttons("mid_cz").Value = tbrPressed
  1158.             .Toolbar3.Buttons("bottom").Value = tbrUnpressed
  1159.             
  1160.         Case 18
  1161.             .Toolbar3.Buttons("left").Value = tbrUnpressed
  1162.             .Toolbar3.Buttons("mid_sp").Value = tbrUnpressed
  1163.             .Toolbar3.Buttons("right").Value = tbrPressed
  1164.             .Toolbar3.Buttons("top").Value = tbrUnpressed
  1165.             .Toolbar3.Buttons("mid_cz").Value = tbrUnpressed
  1166.             .Toolbar3.Buttons("bottom").Value = tbrPressed
  1167.             
  1168.         End Select
  1169.         Select Case ll_style '设置字体风格工具栏
  1170.         Case 0
  1171.             .Toolbar3.Buttons("jiacu").Value = tbrUnpressed
  1172.             .Toolbar3.Buttons("qinxie").Value = tbrUnpressed
  1173.             .Toolbar3.Buttons("xiahuaxian").Value = tbrUnpressed
  1174.             
  1175.         Case 1
  1176.             .Toolbar3.Buttons("jiacu").Value = tbrPressed
  1177.             .Toolbar3.Buttons("qinxie").Value = tbrUnpressed
  1178.             .Toolbar3.Buttons("xiahuaxian").Value = tbrUnpressed
  1179.             
  1180.         Case 2
  1181.             .Toolbar3.Buttons("jiacu").Value = tbrUnpressed
  1182.             .Toolbar3.Buttons("qinxie").Value = tbrPressed
  1183.             .Toolbar3.Buttons("xiahuaxian").Value = tbrUnpressed
  1184.             
  1185.         Case 3
  1186.             .Toolbar3.Buttons("jiacu").Value = tbrUnpressed
  1187.             .Toolbar3.Buttons("qinxie").Value = tbrUnpressed
  1188.             .Toolbar3.Buttons("xiahuaxian").Value = tbrPressed
  1189.             
  1190.         Case 4
  1191.             .Toolbar3.Buttons("jiacu").Value = tbrPressed
  1192.             .Toolbar3.Buttons("qinxie").Value = tbrPressed
  1193.             .Toolbar3.Buttons("xiahuaxian").Value = tbrUnpressed
  1194.             
  1195.         Case 5
  1196.             .Toolbar3.Buttons("jiacu").Value = tbrPressed
  1197.             .Toolbar3.Buttons("qinxie").Value = tbrUnpressed
  1198.             .Toolbar3.Buttons("xiahuaxian").Value = tbrPressed
  1199.             
  1200.         Case 6
  1201.             .Toolbar3.Buttons("jiacu").Value = tbrUnpressed
  1202.             .Toolbar3.Buttons("qinxie").Value = tbrPressed
  1203.             .Toolbar3.Buttons("xiahuaxian").Value = tbrPressed
  1204.             
  1205.         Case 7
  1206.             .Toolbar3.Buttons("jiacu").Value = tbrPressed
  1207.             .Toolbar3.Buttons("qinxie").Value = tbrPressed
  1208.             .Toolbar3.Buttons("xiahuaxian").Value = tbrPressed
  1209.             
  1210.         End Select
  1211.         .ActiveForm.Cell1.DoGetCellColor .ActiveForm.ml_col, .ActiveForm.ml_row, ll_forecolor, ll_backcolor
  1212.         Select Case ll_forecolor '设置字体颜色工具栏
  1213.         Case RGB(0, 0, 0), -1
  1214.             .Toolbar3.Buttons("color").Image = 15
  1215.         Case RGB(128, 128, 128)
  1216.             .Toolbar3.Buttons("color").Image = 16
  1217.         Case RGB(128, 0, 0)
  1218.             .Toolbar3.Buttons("color").Image = 17
  1219.         Case RGB(128, 128, 0)
  1220.             .Toolbar3.Buttons("color").Image = 18
  1221.         Case RGB(0, 128, 0)
  1222.             .Toolbar3.Buttons("color").Image = 19
  1223.         Case RGB(0, 128, 128)
  1224.             .Toolbar3.Buttons("color").Image = 20
  1225.         Case RGB(0, 0, 128)
  1226.             .Toolbar3.Buttons("color").Image = 21
  1227.         Case RGB(128, 0, 128)
  1228.             .Toolbar3.Buttons("color").Image = 22
  1229.         Case RGB(128, 128, 64)
  1230.             .Toolbar3.Buttons("color").Image = 23
  1231.         Case RGB(0, 64, 64)
  1232.             .Toolbar3.Buttons("color").Image = 24
  1233.         Case RGB(0, 128, 255)
  1234.             .Toolbar3.Buttons("color").Image = 25
  1235.         Case RGB(0, 64, 128)
  1236.             .Toolbar3.Buttons("color").Image = 26
  1237.         Case RGB(64, 0, 255)
  1238.             .Toolbar3.Buttons("color").Image = 27
  1239.         Case RGB(128, 64, 0)
  1240.             .Toolbar3.Buttons("color").Image = 28
  1241.         Case RGB(255, 255, 255)
  1242.             .Toolbar3.Buttons("color").Image = 29
  1243.         Case RGB(255, 0, 0)
  1244.             .Toolbar3.Buttons("color").Image = 30
  1245.         Case RGB(255, 255, 0)
  1246.             .Toolbar3.Buttons("color").Image = 31
  1247.         Case RGB(0, 255, 0)
  1248.             .Toolbar3.Buttons("color").Image = 32
  1249.         Case RGB(0, 255, 255)
  1250.             .Toolbar3.Buttons("color").Image = 33
  1251.         Case RGB(0, 0, 255)
  1252.             .Toolbar3.Buttons("color").Image = 34
  1253.         Case RGB(255, 0, 255)
  1254.             .Toolbar3.Buttons("color").Image = 35
  1255.         Case RGB(255, 255, 128)
  1256.             .Toolbar3.Buttons("color").Image = 36
  1257.         Case RGB(0, 255, 128)
  1258.             .Toolbar3.Buttons("color").Image = 37
  1259.         Case RGB(128, 255, 255)
  1260.             .Toolbar3.Buttons("color").Image = 38
  1261.         Case RGB(128, 128, 255)
  1262.             .Toolbar3.Buttons("color").Image = 39
  1263.         Case RGB(255, 0, 128)
  1264.             .Toolbar3.Buttons("color").Image = 40
  1265.         Case RGB(255, 128, 64)
  1266.             .Toolbar3.Buttons("color").Image = 41
  1267.         End Select
  1268.         '设置数值格式
  1269.         Dim ll_qfw, ll_bfs, ll_xsws, ll_hbfh, ll_unit, ll_fs, ll_kxjs
  1270.         .ActiveForm.Cell1.DoGetCellNumberStyle .ActiveForm.ml_col, .ActiveForm.ml_row, ll_qfw, ll_bfs, ll_xsws, ll_hbfh, ll_unit, ll_fs, ll_kxjs
  1271.         If ll_qfw = 1 Then
  1272.             .Toolbar3.Buttons(",").Value = tbrPressed
  1273.         Else
  1274.             .Toolbar3.Buttons(",").Value = tbrUnpressed
  1275.         End If
  1276.         If ll_hbfh = 0 Then
  1277.             .Toolbar3.Buttons("hbfh").Value = tbrPressed
  1278.         Else
  1279.             .Toolbar3.Buttons("hbfh").Value = tbrUnpressed
  1280.         End If
  1281.         If ll_bfs = 1 Then
  1282.             .Toolbar3.Buttons("%").Value = tbrPressed
  1283.         Else
  1284.             .Toolbar3.Buttons("%").Value = tbrUnpressed
  1285.         End If
  1286.         If ll_kxjs = 1 Then
  1287.             .Toolbar3.Buttons("E").Value = tbrPressed
  1288.         Else
  1289.             .Toolbar3.Buttons("E").Value = tbrUnpressed
  1290.         End If
  1291.     End With
  1292. End Sub
  1293. '读入数据
  1294. Public Sub mf_open(ByVal ll_edit_lx As Long)
  1295.     Dim ls_select As String, ll_nr_len As Long
  1296.     Dim ls_filename As String, ll_filenumber As Long
  1297.     Dim lrst_open As ADODB.Recordset
  1298.     Dim laby_nr() As Byte, ls_path As String
  1299.     on error resume next
  1300.     
  1301.     Select Case ll_edit_lx
  1302.     Case 1
  1303.         MDI_frame.m_recompute.Enabled = False
  1304.         Set lrst_open = New ADODB.Recordset
  1305.         With Me.mcls_open_report
  1306.             ls_select = "select report_nr from dzbb_bb where system_code='" & Left(.ls_system_code, 2) _
  1307.             & "' and report_model_id='" & .ls_report_model_id _
  1308.             & "' and report_time='" & CStr(.ldate_report_time) & "'"
  1309.             lrst_open.Open ls_select, Cw_DataEnvi.dataconnect, adOpenDynamic, adLockOptimistic, adCmdText
  1310.             lrst_open.MoveFirst
  1311.             ll_nr_len = lrst_open("report_nr").ActualSize
  1312.             ReDim laby_nr(ll_nr_len)
  1313.             laby_nr = lrst_open("report_nr").GetChunk(ll_nr_len)
  1314.             ls_path = App.Path
  1315.             If Right(ls_path, 1) <> "" Then
  1316.                 ls_path = ls_path & ""
  1317.             End If
  1318.             ls_filename = ls_path & "hbbb_tmp.cll"
  1319.             ll_filenumber = FreeFile()
  1320.             Open ls_filename For Binary As #ll_filenumber
  1321.             Put #ll_filenumber, 1, laby_nr
  1322.             Close #ll_filenumber
  1323.             Cell1.DoOpenFile ls_filename
  1324.             Kill ls_filename
  1325.         End With
  1326.         lrst_open.Close
  1327.         Set lrst_open = Nothing
  1328.     Case 2
  1329.         Set lrst_open = New ADODB.Recordset
  1330.         With Me.mcls_open_report_model
  1331.             ls_select = "select report_model_nr from dzbb_bbmb where system_code='" & Left(.ls_system_code, 2) _
  1332.             & "' and report_model_id='" & .ls_report_model_id & "'"
  1333.             lrst_open.Open ls_select, Cw_DataEnvi.dataconnect, adOpenDynamic, adLockOptimistic, adCmdText
  1334.             lrst_open.MoveFirst
  1335.             ll_nr_len = lrst_open("report_model_nr").ActualSize
  1336.             ReDim laby_nr(ll_nr_len)
  1337.             laby_nr = lrst_open("report_model_nr").GetChunk(ll_nr_len)
  1338.             ls_path = App.Path
  1339.             If Right(ls_path, 1) <> "" Then
  1340.                 ls_path = ls_path & ""
  1341.             End If
  1342.             ls_filename = ls_path & "hbbb_tmp.cll"
  1343.             ll_filenumber = FreeFile()
  1344.             Open ls_filename For Binary As #ll_filenumber
  1345.             Put #ll_filenumber, 1, laby_nr
  1346.             Close #ll_filenumber
  1347.             Cell1.DoOpenFile ls_filename
  1348.             Kill ls_filename
  1349.         End With
  1350.         lrst_open.Close
  1351.         Set lrst_open = Nothing
  1352.     Case 3
  1353.         If Cell1.DoOpenFile(ms_filename) <= 0 Then
  1354.             MsgBox ms_filename
  1355.             MsgBox "打开文件失败!", vbOKOnly, "百利/ERP5.0-电子报表"
  1356.             Exit Sub
  1357.         End If
  1358.     Case 4
  1359.         Dim ll_forecolor, ll_backcolor, i As Long, j As Long
  1360.         Set lrst_open = New ADODB.Recordset
  1361.         With Me.mcls_new_report
  1362.             ls_select = "select report_model_nr from dzbb_bbmb where system_code='" & Left(.ls_system_code, 2) _
  1363.             & "' and report_model_id='" & .ls_report_model_id & "'"
  1364.             lrst_open.Open ls_select, Cw_DataEnvi.dataconnect, adOpenDynamic, adLockOptimistic, adCmdText
  1365.             lrst_open.MoveFirst
  1366.             ll_nr_len = lrst_open("report_model_nr").ActualSize
  1367.             ReDim laby_nr(ll_nr_len)
  1368.             laby_nr = lrst_open("report_model_nr").GetChunk(ll_nr_len)
  1369.             ls_path = App.Path
  1370.             If Right(ls_path, 1) <> "" Then
  1371.                 ls_path = ls_path & ""
  1372.             End If
  1373.             ls_filename = ls_path & "hbbb_tmp.cll"
  1374.             ll_filenumber = FreeFile()
  1375.             Open ls_filename For Binary As #ll_filenumber
  1376.             Put #ll_filenumber, 1, laby_nr
  1377.             Close #ll_filenumber
  1378.             Cell1.DoOpenFile ls_filename
  1379.             Kill ls_filename
  1380.             If .ls_report_model_id = "00001" Or .ls_report_model_id = "00002" Or .ls_report_model_id = "00003" Then
  1381.                 Cell1.DoCalculateAll
  1382.             Else
  1383.                 Cell1.DoCalculateAll
  1384.             End If
  1385.             For i = 0 To Cell1.Cols - 1
  1386.                 For j = 0 To Cell1.Rows - 1
  1387.                     Cell1.DoGetCellColor i, j, ll_forecolor, ll_backcolor
  1388.                     Cell1.DoSetCellColor i, j, ll_forecolor, -1
  1389.                     If Cell1.IsFormulaCell(i, j) Then
  1390.                         If Left(Cell1.DoGetCellNote(i, j), 1) = "1" Then
  1391.                             Cell1.DoDelFormula i, j
  1392.                         End If
  1393.                     End If
  1394.                     If Cell1.IsChartCell(i, j) Then
  1395.                         Cell1.DoRefreshChart i, j
  1396.                     End If
  1397.                 Next j
  1398.             Next i
  1399.             Cell1.DoRedrawAll
  1400.         End With
  1401.         lrst_open.Close
  1402.         Set lrst_open = Nothing
  1403.         'case 5,6不用取数
  1404.     Case 7
  1405.         MDI_frame.m_recompute.Enabled = False
  1406.         
  1407.         
  1408.         For i = 1 To frm_open_bbHZ.vsFlexGrid2.Rows - 1
  1409.             If frm_open_bbHZ.vsFlexGrid2.TextMatrix(i, 4) = "√" Then
  1410.                 Set lrst_open = New ADODB.Recordset
  1411.                 With Me.mcls_open_report
  1412.                     ls_select = "select report_nr from dzbb_bb where system_code='" & Left(ls_xtbm, 2) _
  1413.                     & "' and report_model_id='" & frm_open_bbHZ.vsFlexGrid1.TextMatrix(frm_open_bbHZ.vsFlexGrid1.Row, 0) _
  1414.                     & "' and report_time='" & CStr(frm_open_bbHZ.vsFlexGrid2.TextMatrix(i, 0)) & "'"
  1415.                     lrst_open.Open ls_select, Cw_DataEnvi.dataconnect, adOpenDynamic, adLockOptimistic, adCmdText
  1416.                     lrst_open.MoveFirst
  1417.                     ll_nr_len = lrst_open("report_nr").ActualSize
  1418.                     ReDim laby_nr(ll_nr_len)
  1419.                     laby_nr = lrst_open("report_nr").GetChunk(ll_nr_len)
  1420.                     ls_path = App.Path
  1421.                     If Right(ls_path, 1) <> "" Then
  1422.                         ls_path = ls_path & ""
  1423.                     End If
  1424.                     ls_filename = ls_path & "hbbb_tmp.cll"
  1425.                     ll_filenumber = FreeFile()
  1426.                     Open ls_filename For Binary As #ll_filenumber
  1427.                     Put #ll_filenumber, 1, laby_nr
  1428.                     Close #ll_filenumber
  1429.                     Cell1.DoOpenFile ls_filename
  1430.                     Cell1.DoAppendPage "", 1
  1431.                     Cell1.DoCopyPage Cell1.DoGetTotalPages - 1, 0
  1432.                     Kill ls_filename
  1433.                 End With
  1434.                 lrst_open.Close
  1435.                 Set lrst_open = Nothing
  1436.             End If
  1437.         Next i
  1438.         Cell1.DoDeletePage 0, 1
  1439.         For i = Cell1.DoGetTotalPages - 1 To 0 Step -1
  1440.             Cell1.DoSetCurrentPage i
  1441.             Cell1.DoSetTopRow 0
  1442.             Cell1.DoSetLeftCol 0
  1443.         Next i
  1444.     End Select
  1445.     
  1446. End Sub
  1447. Public Sub mf_save(ByVal ll_edit_lx)
  1448.     
  1449.     If song_flag = False Then
  1450.         Dim ls_sql As String, ls_filename As String
  1451.         Dim ll_filenumber As Long, ll_filelen As Long
  1452.         Dim lrst_save As ADODB.Recordset
  1453.         Dim lrst_read As ADODB.Recordset
  1454.         Dim laby_cell() As Byte
  1455.         Dim ls_path
  1456.         
  1457.         
  1458.         On Error GoTo error_save
  1459.         
  1460.         Cw_DataEnvi.dataconnect.BeginTrans
  1461.         
  1462.         Select Case ll_edit_lx
  1463.         Case 1
  1464.             ls_path = App.Path
  1465.             If Right(ls_path, 1) <> "" Then
  1466.                 ls_path = ls_path & ""
  1467.             End If
  1468.             ls_filename = ls_path + "dzbb_temp.cll"
  1469.             If Dir(ls_filename) <> "" Then
  1470.                 Kill ls_filename
  1471.             End If
  1472.             If Cell1.DoSaveFile(ls_filename) <= 0 Then
  1473.                 MsgBox "保存到临时文件失败,报表保存失败!", vbOKOnly + vbExclamation, "百利/ERP5.0-电子报表"
  1474.                 Cw_DataEnvi.dataconnect.RollbackTrans
  1475.                 Exit Sub
  1476.             End If
  1477.             ll_filenumber = FreeFile()
  1478.             Open ls_filename For Binary As #ll_filenumber
  1479.             ll_filelen = LOF(ll_filenumber)
  1480.             ReDim laby_cell(ll_filelen)
  1481.             Get #ll_filenumber, 1, laby_cell
  1482.             Close #ll_filenumber
  1483.             
  1484.             Set lrst_save = New ADODB.Recordset
  1485.             With Me.mcls_open_report
  1486.                 ls_sql = "select * from dzbb_bb where system_code='" & Left(.ls_system_code, 2) _
  1487.                 & "' and report_model_id='" & .ls_report_model_id _
  1488.                 & "' and report_time='" & CStr(.ldate_report_time) & "'"
  1489.                 lrst_save.Open ls_sql, Cw_DataEnvi.dataconnect, adOpenDynamic, adLockOptimistic
  1490.                 lrst_save.MoveFirst
  1491.                 lrst_save("update_id") = Xtczybm
  1492.                 lrst_save("update_time") = Xtrq
  1493.                 lrst_save("report_nr").AppendChunk laby_cell
  1494.                 lrst_save.Update
  1495.                 lrst_save.Close
  1496.                 Set lrst_save = Nothing
  1497.                 Cell1.DoSetModifiedFlag False
  1498.             End With
  1499.             Kill ls_filename
  1500.             MsgBox "报表保存成功!", vbInformation + vbOKOnly, "百利/ERP5.0-电子报表"
  1501.             
  1502.         Case 2 '修改报表莫板存盘
  1503.             frm_user_right1.Show vbModal, MDI_frame
  1504.             ls_path = App.Path
  1505.             If Right(ls_path, 1) <> "" Then
  1506.                 ls_path = ls_path & ""
  1507.             End If
  1508.             ls_filename = ls_path + "dzbb_temp.cll"
  1509.             If Cell1.DoSaveFile(ls_filename) <= 0 Then
  1510.                 MsgBox "保存到临时文件失败,报表模板保存失败!", vbOKOnly + vbExclamation, "百利/ERP5.0-电子报表"
  1511.                 Cw_DataEnvi.dataconnect.RollbackTrans
  1512.                 Exit Sub
  1513.             End If
  1514.             ll_filenumber = FreeFile()
  1515.             Open ls_filename For Binary As #ll_filenumber
  1516.             ll_filelen = LOF(ll_filenumber)
  1517.             ReDim laby_cell(ll_filelen)
  1518.             Get #ll_filenumber, 1, laby_cell
  1519.             Close #ll_filenumber
  1520.             
  1521.             Set lrst_save = New ADODB.Recordset
  1522.             With Me.mcls_open_report_model
  1523.                 ls_sql = "select * from dzbb_bbmb where system_code='" & Left(.ls_system_code, 2) _
  1524.                 & "' and report_model_id='" & .ls_report_model_id & "'"
  1525.                 lrst_save.Open ls_sql, Cw_DataEnvi.dataconnect, adOpenDynamic, adLockOptimistic
  1526.                 lrst_save.MoveFirst
  1527.                 lrst_save("report_model_nr").AppendChunk laby_cell
  1528.                 lrst_save("canmakdate") = frm_user_right1.Combo1.Text
  1529.                 lrst_save.Update
  1530.                 lrst_save.Close
  1531.                 '*********************************************
  1532.                 lrst_save.Open "delete from dzbb_right where system_code='" & Left(.ls_system_code, 2) _
  1533.                 & "' and report_model_id='" & .ls_report_model_id & "'", Cw_DataEnvi.dataconnect, adOpenDynamic, adLockOptimistic
  1534.                 lrst_save.Open "select * from dzbb_right where system_code='" & Left(.ls_system_code, 2) _
  1535.                 & "' and report_model_id='" & .ls_report_model_id & "'", Cw_DataEnvi.dataconnect, adOpenDynamic, adLockOptimistic
  1536.                 For i = 0 To frm_user_right1.vs1.Rows - 1
  1537.                     If frm_user_right1.vs1.TextMatrix(i, 2) = "√" Or frm_user_right1.vs1.TextMatrix(i, 3) = "√" Then
  1538.                         lrst_save.AddNew
  1539.                         lrst_save("system_code") = Left(.ls_system_code, 2)
  1540.                         lrst_save("report_model_id") = .ls_report_model_id
  1541.                         lrst_save("user_id") = Xtczybm
  1542.                         lrst_save("bbuser_id") = Trim(frm_user_right1.vs1.TextMatrix(i, 0))
  1543.                         If frm_user_right1.vs1.TextMatrix(i, 2) = "√" Then
  1544.                             lrst_save("editflag") = 1
  1545.                         Else
  1546.                             lrst_save("editflag") = 0
  1547.                         End If
  1548.                         lrst_save.Update
  1549.                     End If
  1550.                 Next i
  1551.                 lrst_save.Close
  1552.                 Unload frm_user_right1
  1553.                 '**********************************************
  1554.                 Set lrst_save = Nothing
  1555.                 Cell1.DoSetModifiedFlag False
  1556.             End With
  1557.             MsgBox "报表模板保存成功!", vbInformation + vbOKOnly, "百利/ERP5.0-电子报表"
  1558.             
  1559.             Kill ls_filename
  1560.         Case 3
  1561.             If Dir(ms_filename) <> "" Then
  1562.                 If MsgBox("文件已存在,要覆盖吗?", vbQuestion + vbYesNo, "提示信息——百利/ERP5.0-电子报表") = vbNo Then
  1563.                     Cw_DataEnvi.dataconnect.RollbackTrans
  1564.                     Exit Sub
  1565.                 Else
  1566.                     Kill ms_filename
  1567.                 End If
  1568.             End If
  1569.             If Cell1.DoSaveFile(ms_filename) <= 0 Then
  1570.                 MsgBox "文件保存失败!", vbOKOnly + vbExclamation, "百利/ERP5.0-电子报表"
  1571.                 Cw_DataEnvi.dataconnect.RollbackTrans
  1572.                 Exit Sub
  1573.             End If
  1574.             MsgBox "报表保存成功!", vbInformation + vbOKOnly, "百利/ERP5.0-电子报表"
  1575.             
  1576.         Case 4
  1577.             ls_path = App.Path
  1578.             If Right(ls_path, 1) <> "" Then
  1579.                 ls_path = ls_path & ""
  1580.             End If
  1581.             
  1582.             ls_filename = ls_path + "dzbb_temp.cll"
  1583.             If Dir(ls_filename) <> "" Then
  1584.                 Kill ls_filename
  1585.             End If
  1586.             If Cell1.DoSaveFile(ls_filename) <= 0 Then
  1587.                 MsgBox "保存到临时文件失败,报表保存失败!", vbOKOnly + vbExclamation, "百利/ERP5.0-电子报表"
  1588.                 Cw_DataEnvi.dataconnect.RollbackTrans
  1589.                 Exit Sub
  1590.             End If
  1591.             ll_filenumber = FreeFile
  1592.             Open ls_filename For Binary As #ll_filenumber
  1593.             ll_filelen = LOF(ll_filenumber)
  1594.             ReDim laby_cell(ll_filelen)
  1595.             Get #ll_filenumber, 1, laby_cell
  1596.             Close #ll_filenumber
  1597.             
  1598.             Set lrst_save = New ADODB.Recordset
  1599.             With Me.mcls_new_report
  1600.                 
  1601.                 If Len(ms_save_time) = 0 Then
  1602.                     ms_save_time = Format(Xtrq, "yyyy-mm-dd")
  1603.                 End If
  1604.                 
  1605.                 ls_sql = "select canmakdate from dzbb_bbmb where system_code='" & Left(ls_xtbm, 2) & "' and report_model_id ='" & .ls_report_model_id & "'"
  1606.                 Set lrst_read = Cw_DataEnvi.dataconnect.Execute(ls_sql)
  1607.                 If lrst_read.EOF = False Then
  1608.                     Select Case Trim(lrst_read("canmakdate"))
  1609.                     Case "年报"
  1610.                         ms_save_time = Left(ms_save_time, 4) & "年"
  1611.                     Case "季报"
  1612.                         Select Case Month(CDate(ms_save_time))
  1613.                         Case 1, 2, 3
  1614.                             ms_save_time = Left(ms_save_time, 4) & "年一季度"
  1615.                         Case 4, 5, 6
  1616.                             ms_save_time = Left(ms_save_time, 4) & "年二季度"
  1617.                         Case 7, 8, 9
  1618.                             ms_save_time = Left(ms_save_time, 4) & "年三季度"
  1619.                         Case 10, 11, 12
  1620.                             ms_save_time = Left(ms_save_time, 4) & "年四季度"
  1621.                         End Select
  1622.                     Case "月报"
  1623.                         ms_save_time = Left(ms_save_time, 7)
  1624.                     Case "旬报"
  1625.                         If Day(CDate(ms_save_time)) < 11 Then
  1626.                             ms_save_time = Left(ms_save_time, 7) & "月上旬"
  1627.                         ElseIf Day(CDate(ms_save_time)) < 21 And Day(CDate(ms_save_time)) > 10 Then
  1628.                             ms_save_time = Left(ms_save_time, 7) & "月中旬"
  1629.                         ElseIf Day(CDate(ms_save_time)) < 31 And Day(CDate(ms_save_time)) > 20 Then
  1630.                             ms_save_time = Left(ms_save_time, 7) & "月下旬"
  1631.                         End If
  1632.                     Case "日报"
  1633.                     End Select
  1634.                 End If
  1635.                 lrst_read.Close
  1636.                 Set lrst_read = Nothing
  1637.                 ls_sql = "select * from dzbb_bb where system_code='" & Left(.ls_system_code, 2) _
  1638.                 & "' and report_model_id='" & .ls_report_model_id _
  1639.                 & "' and report_time = '" & ms_save_time & "'"
  1640.                 lrst_save.Open ls_sql, Cw_DataEnvi.dataconnect, adOpenDynamic, adLockOptimistic
  1641.                 If lrst_save.RecordCount = 0 Then
  1642.                     lrst_save.AddNew
  1643.                     lrst_save("user_id") = Xtczy
  1644.                 Else
  1645.                     If MsgBox("报表已存在,要覆盖吗?", vbQuestion + vbYesNo, "提示信息——百利/ERP5.0-电子报表") = vbNo Then
  1646.                         Cw_DataEnvi.dataconnect.RollbackTrans
  1647.                         Exit Sub
  1648.                     End If
  1649.                 End If
  1650.                 lrst_save("system_code") = Left(.ls_system_code, 2)
  1651.                 lrst_save("report_model_id") = .ls_report_model_id
  1652.                 lrst_save("report_time") = ms_save_time
  1653.                 
  1654.                 lrst_save("update_time") = Xtrq
  1655.                 lrst_save("update_id") = Xtczy
  1656.                 lrst_save("report_nr").AppendChunk laby_cell
  1657.                 lrst_save.Update
  1658.                 lrst_save.Close
  1659.                 Set lrst_save = Nothing
  1660.                 Cell1.DoSetModifiedFlag False
  1661.             End With
  1662.             Kill ls_filename
  1663.             MsgBox "报表保存成功!", vbInformation + vbOKOnly, "百利/ERP5.0-电子报表"
  1664.         Case 5 '新建报表模板存盘
  1665.             frm_user_right.Show vbModal, MDI_frame '设置right
  1666.             
  1667.             ls_path = App.Path
  1668.             If Right(ls_path, 1) <> "" Then
  1669.                 ls_path = ls_path & ""
  1670.             End If
  1671.             
  1672.             ls_filename = ls_path + "dzbb_temp.cll"
  1673.             If Cell1.DoSaveFile(ls_filename) <= 0 Then
  1674.                 Cw_DataEnvi.dataconnect.RollbackTrans
  1675.                 MsgBox "保存到临时文件失败,报表模板保存失败!", vbOKOnly + vbExclamation, "百利/ERP5.0-电子报表"
  1676.                 Exit Sub
  1677.             End If
  1678.             ll_filenumber = FreeFile
  1679.             Open ls_filename For Binary As #ll_filenumber
  1680.             ll_filelen = LOF(ll_filenumber)
  1681.             ReDim laby_cell(ll_filelen)
  1682.             Get #ll_filenumber, 1, laby_cell
  1683.             Close #ll_filenumber
  1684.             
  1685.             Set lrst_save = New ADODB.Recordset
  1686.             With Me.mcls_new_report_model
  1687.                 ls_sql = "select * from dzbb_bbmb where system_code='" & Left(.ls_system_code, 2) _
  1688.                 & "' and report_model_id='" & .ls_report_model_id & "'"
  1689.                 
  1690.                 lrst_save.Open ls_sql, Cw_DataEnvi.dataconnect, adOpenDynamic, adLockOptimistic
  1691.                 If lrst_save.RecordCount = 0 Then
  1692.                     lrst_save.AddNew
  1693.                 End If
  1694.                 lrst_save("system_code") = Left(.ls_system_code, 2)
  1695.                 lrst_save("report_model_id") = .ls_report_model_id
  1696.                 lrst_save("report_model_name") = .ls_report_model_name
  1697.                 lrst_save("user_id") = Xtczybm
  1698.                 lrst_save("report_model_nr").AppendChunk laby_cell
  1699.                 lrst_save("canmakdate") = frm_user_right.Combo1.Text
  1700.                 lrst_save.Update
  1701.                 lrst_save.Close
  1702.                 '*********************************************
  1703.                 Cw_DataEnvi.dataconnect.Execute "delete from dzbb_right where system_code='" & Left(.ls_system_code, 2) & "' and report_model_id='" & .ls_report_model_id & "'"
  1704.                 lrst_save.Open "select * from dzbb_right ", Cw_DataEnvi.dataconnect, adOpenDynamic, adLockOptimistic
  1705.                 For i = 0 To frm_user_right.vs1.Rows - 1
  1706.                     If frm_user_right.vs1.TextMatrix(i, 2) = "√" Or frm_user_right.vs1.TextMatrix(i, 3) = "√" Then
  1707.                         lrst_save.AddNew
  1708.                         lrst_save("system_code") = Left(.ls_system_code, 2)
  1709.                         lrst_save("report_model_id") = .ls_report_model_id
  1710.                         lrst_save("user_id") = Xtczybm
  1711.                         lrst_save("bbuser_id") = Trim(frm_user_right.vs1.TextMatrix(i, 0))
  1712.                         If frm_user_right.vs1.TextMatrix(i, 2) = "√" Then
  1713.                             lrst_save("editflag") = 1
  1714.                         Else
  1715.                             lrst_save("editflag") = 0
  1716.                         End If
  1717.                         
  1718.                         lrst_save.Update
  1719.                     End If
  1720.                     
  1721.                 Next i
  1722.                 lrst_save.Close
  1723.                 Unload frm_user_right
  1724.                 '*********************************************
  1725.                 Set lrst_save = Nothing
  1726.                 Cell1.DoSetModifiedFlag False
  1727.             End With
  1728.             Kill ls_filename
  1729.             MsgBox "报表模板保存成功!", vbInformation + vbOKOnly, "百利/ERP5.0-电子报表"
  1730.         Case 6
  1731.             CommonDialog1.Filter = "CLL文件(*.cll)|*.cll|"
  1732.             CommonDialog1.Flags = cdlOFNFileMustExist
  1733.             'CommonDialog1.FileName = Right(Me.Caption, Len(Me.Caption) - 9) & ".cll"
  1734.             CommonDialog1.FileName = ""
  1735.             CommonDialog1.DialogTitle = "请输入您要保存的文件的名称"
  1736.             CommonDialog1.ShowSave
  1737.             ls_filename = CommonDialog1.FileName
  1738.             
  1739.             If Len(Trim(ls_filename)) = 0 Then
  1740.                 Cw_DataEnvi.dataconnect.RollbackTrans
  1741.                 Exit Sub
  1742.             End If
  1743.             
  1744.             If Cell1.DoSaveFile(ls_filename) > 0 Then
  1745.                 ms_filename = ls_filename
  1746.                 Me.ml_edit_lx = 3
  1747.                 Me.Caption = "编辑表格:    " & ms_filename
  1748.             Else
  1749.                 MsgBox "文件保存失败", vbOKOnly + vbExclamation, "百利/ERP5.0-电子报表"
  1750.                 Cw_DataEnvi.dataconnect.RollbackTrans
  1751.                 Exit Sub
  1752.             End If
  1753.             Exit Sub
  1754.         End Select
  1755.         
  1756.     Else
  1757.         Dim lrst_select As New ADODB.Recordset
  1758.         Dim ls_select As String
  1759.         
  1760.         ls_path = App.Path
  1761.         If Right(ls_path, 1) <> "" Then
  1762.             ls_path = ls_path & ""
  1763.         End If
  1764.         frm_user_right1.Show vbModal, MDI_frame
  1765.         
  1766.         ls_filename = ls_path + "dzbb_temp.cll"
  1767.         If Dir(ls_filename) <> "" Then
  1768.             Kill ls_filename
  1769.         End If
  1770.         If MDI_frame.ActiveForm.Cell1.DoSaveFile(ls_filename) <= 0 Then
  1771.             MsgBox "保存到临时文件失败,报表模板保存失败!", vbOKOnly + vbExclamation, "百利/ERP5.0-电子报表"
  1772.             Cw_DataEnvi.dataconnect.RollbackTrans
  1773.             Exit Sub
  1774.         End If
  1775.         ll_filenumber = FreeFile()
  1776.         Open ls_filename For Binary As #ll_filenumber
  1777.         ll_filelen = LOF(ll_filenumber)
  1778.         ReDim laby_cell(ll_filelen)
  1779.         Get #ll_filenumber, 1, laby_cell
  1780.         Close #ll_filenumber
  1781.         
  1782.         ls_select = "select * from dzbb_bbmb where system_code='" & Left(ls_xtbm, 2) & "' and report_model_id='" & Trim(Mid(MDI_frame.Caption, InStr(1, MDI_frame.Caption, "模板号:") + 4, 5)) & "'"
  1783.         lrst_select.Open ls_select, Cw_DataEnvi.dataconnect, adOpenDynamic, adLockOptimistic, 8
  1784.         If lrst_select.RecordCount = 0 Then
  1785.             MsgBox "保存出错,模板没有保存!", vbInformation + vbOKOnly, "百利/ERP5.0-电子报表"
  1786.             If Dir(ls_filename) <> "" Then Kill ls_filename
  1787.             Cw_DataEnvi.dataconnect.RollbackTrans
  1788.             Exit Sub
  1789.         Else
  1790.             With lrst_select
  1791.                 
  1792.                 .Fields("report_model_nr").AppendChunk laby_cell
  1793.                 .Fields("canmakdate") = frm_user_right1.Combo1.Text
  1794.                 .Update
  1795.             End With
  1796.             lrst_select.Close
  1797.             
  1798.             '*********************************************
  1799.             lrst_select.Open "delete from dzbb_right where system_code='" & Mid(MDI_frame.Caption, InStr(1, MDI_frame.Caption, "系统编码") + 5, 2) _
  1800.             & "'and report_model_id='" & Mid(MDI_frame.Caption, InStr(1, MDI_frame.Caption, "模板号") + 4, 5) & "'", Cw_DataEnvi.dataconnect, adOpenDynamic, adLockOptimistic
  1801.             lrst_select.Open "select * from dzbb_right where system_code='" & Mid(MDI_frame.Caption, InStr(1, MDI_frame.Caption, "系统编码") + 5, 2) _
  1802.             & "' and report_model_id='" & Mid(MDI_frame.Caption, InStr(1, MDI_frame.Caption, "模板号") + 4, 5) & "'", Cw_DataEnvi.dataconnect, adOpenDynamic, adLockOptimistic
  1803.             For i = 0 To frm_user_right1.vs1.Rows - 1
  1804.                 If frm_user_right1.vs1.TextMatrix(i, 2) = "√" Then
  1805.                     lrst_select.AddNew
  1806.                     lrst_select("system_code") = Left(ls_xtbm, 2)
  1807.                     lrst_select("report_model_id") = Mid(MDI_frame.Caption, InStr(1, MDI_frame.Caption, "模板号") + 4, 5)
  1808.                     lrst_select("user_id") = Xtczybm
  1809.                     lrst_select("bbuser_id") = Trim(frm_user_right1.vs1.TextMatrix(i, 0))
  1810.                     lrst_select.Update
  1811.                 End If
  1812.             Next i
  1813.             lrst_select.Close
  1814.             Unload frm_user_right1
  1815.             If Dir(ls_filename) <> "" Then Kill ls_filename
  1816.             MsgBox "文件保存文报表成功!", vbInformation + vbOKOnly, "百利/ERP5.0-电子报表"
  1817.         End If
  1818.     End If
  1819.     Cw_DataEnvi.dataconnect.CommitTrans
  1820.     
  1821.     Exit Sub
  1822. error_save:
  1823.     On Error Resume Next
  1824.     Set lrst_save = Nothing
  1825.     Cw_DataEnvi.dataconnect.RollbackTrans
  1826.     MsgBox "保存失败!", vbOKOnly + vbExclamation, "百利/ERP5.0-电子报表"
  1827.     
  1828. End Sub
  1829. Private Sub mf_setmenu(ByVal ll_count As Long)
  1830.     'll_count为0:表示当前无打开文档,需要隐藏菜单
  1831.     'll_count为1:表示当前第一次打开文档,需要显示菜单
  1832.     With MDI_frame
  1833.         
  1834.         If ll_count = 0 Then
  1835.             .m_saveasmodel.Enabled = False
  1836.             .m_saveasmodel.Visible = False
  1837.             .m_close.Enabled = False
  1838.             .m_save.Enabled = False
  1839.             .m_lcwxtzygswj.Enabled = False
  1840.             .m_drwj.Enabled = False
  1841.             .m_lcwj.Enabled = False
  1842.             .m_preview.Enabled = False
  1843.             .m_print.Enabled = False
  1844.             .m_edit.Enabled = False
  1845.             .m_view.Enabled = False
  1846.             .m_cell.Enabled = False
  1847.             .m_page.Enabled = False
  1848.             .m_data.Enabled = False
  1849.             .m_biaoge.Enabled = False
  1850.             .m_windows.Enabled = False
  1851.         End If
  1852.         If ll_count = 1 Then
  1853.             If Xtczybm = "000" Then '判断是否管理员并设置菜单
  1854.                 .m_saveasmodel.Visible = True
  1855.                 .m_saveasmodel.Enabled = True
  1856.                 .m_fg6.Visible = True
  1857.                 .m_fill_formula.Visible = True
  1858.                 .m_fill_cf.Visible = True
  1859.                 .m_fill_cz.Visible = True
  1860.                 .m_fill_db.Visible = True
  1861.                 .m_fill_dc.Visible = True
  1862.                 .m_fill_nr.Visible = True
  1863.                 .m_page.Visible = True
  1864.                 .m_biaoge.Visible = True
  1865.                 .m_data.Visible = True
  1866.                 .m_manage.Visible = True
  1867.                 .m_fg6.Enabled = True
  1868.                 .m_fill_formula.Enabled = True
  1869.                 .m_fill_cf.Enabled = True
  1870.                 .m_fill_cz.Enabled = True
  1871.                 .m_fill_db.Enabled = True
  1872.                 .m_fill_dc.Enabled = True
  1873.                 .m_fill_nr.Enabled = True
  1874.                 
  1875.                 .m_data.Enabled = True
  1876.                 .m_manage.Enabled = True
  1877.             Else
  1878.                 .m_saveasmodel.Visible = False
  1879.                 .m_fg6.Visible = False
  1880.                 .m_fill_formula.Visible = False
  1881.                 .m_fill_cf.Visible = False
  1882.                 .m_fill_cz.Visible = False
  1883.                 .m_fill_db.Visible = False
  1884.                 .m_fill_dc.Visible = False
  1885.                 .m_fill_nr.Visible = False
  1886.                 
  1887.                 
  1888.                 .m_data.Visible = False
  1889.                 .m_manage.Visible = False
  1890.             End If
  1891.             .m_page.Visible = True
  1892.             .m_biaoge.Visible = True
  1893.             .YCHB.Checked = False
  1894.             .YCLB.Checked = False
  1895.             .m_close.Enabled = True
  1896.             .m_save.Enabled = True
  1897.             .m_lcwxtzygswj.Enabled = True
  1898.             .m_drwj.Enabled = True
  1899.             .m_lcwj.Enabled = True
  1900.             .m_preview.Enabled = True
  1901.             .m_print.Enabled = True
  1902.             .m_edit.Enabled = True
  1903.             .m_view.Enabled = True
  1904.             .m_cell.Enabled = True
  1905.             .m_page.Enabled = True
  1906.             .m_data.Enabled = True