以前的大大用VFP6.0做了个生成excel工资对帐单的程序,但是现在这个程序不能批量生成文件了,每次只会生成多选的第一项。求大大看看。
IF THISFORM.OPTIONGROUP1.VALUE=1 AND THISFORM.OPTIONGROUP2.VALUE=1SELE HXK
SET FILTER TO
SET ORDER TO XH1
repl all CHK with ' '
for ncnt=1 to thisform.list1.listcount
if thisform.list1.selected(ncnt)
repl chk with '1' for GD=SUBS(alltrim(thisform.list1.list(ncnt)),1,10) AND GDBM=SUBS(alltrim(thisform.list1.list(ncnt)),13,10) AND GD<>'退休'
endif
endfor
SET FILTER TO CHK='1'
GO TOP
CCNT=1000
DO WHILE .NOT. EOF()
M_XM=XM
M_ZGH=ZGH
M_GD=ALLTRIM(GD)
M_GDBM=ALLTRIM(GDBM)
M_BM=IIF(M_GD=M_GDBM,M_GD,M_GD+M_GDBM)
M_WJ=ALLTRIM(XM)+STR(MY,4)+IIF(MM<10,'0'+STR(MM,1),STR(MM,2))+'.xls'
SELE JJK
APPE FROM \LZGL\DBF\JJ\ZGJJ FOR XM=M_XM AND FFRQ>=FFRQ1 AND FFRQ<=FFRQ2 and !dele() and gzyn=1
REPL ALL ZGBH WITH CCNT FOR XM=M_XM
LOCA FOR XM=M_XM
*若无奖金记录,则增加一条空记录
IF EOF()
APPE BLANK
REPL XM WITH M_XM,ZGBH WITH CCNT
ENDIF
SELE GZK
LOCA FOR XM=M_XM
*若无工资记录,则增加一条空记录
IF EOF()
APPE BLANK
REPL XM WITH M_XM,ZGBH WITH CCNT
ENDIF
M_YFGZ=YFGZ
M_SFGZ=SFGZ
*每个项目在\LZGL\TMP下建一子目录
* IF !Directory("\LZGL\TMP\&M_GD")
* MD \LZGL\TMP\&M_GD
* ENDIF
*每个部门在项目下建一子目录
* IF !Directory("\LZGL\TMP\&M_GD.\&M_GDBM")
* MD \LZGL\TMP\&M_GD.\&M_GDBM
* ENDIF
*删除老文件
IF FILE("\LZGL\工资对帐单\&M_WJ")
ERAS \LZGL\工资对帐单\&M_WJ
ENDIF
*生成EXCEL表
ef=CREATEOBJECT('Excel.application') &&调用Excel程序
ef.Workbooks.add &&添加工作簿
ef.Worksheets("sheet1").Activate &&激活第一个工作表
ef.visible=.F. &&显示Excel界面
ef.ActiveSheet.PageSetup.Orientation=2 &&纸张方向 1-纵向,2-横向
ef.ActiveWindow.DisplayZeros=.F.
ef.ActiveSheet.PageSetup.TopMargin=1.8/0.035 &&设置距顶1.8厘米
ef.range("A1:M30").Select
ef.Selection.Font.Size = 9 &&设置整表默认字体大小为10
ef.Selection.HorizontalAlignment = 3 &&居中对齐
* num=reccount() &&求导出总记录数
* i=5
ef.range("A:B").ColumnWidth=3.88
ef.range("C:L").ColumnWidth=8.13
ef.range("M1").ColumnWidth=18.50
ef.range("a1:a30").RowHeight=20 &&设置行高
ef.range("A1:M1").Select &&选择标题栏所在单元格
ef.Selection.Merge &&合并单元格
with ef.range("A1") &&设置标题及字体属性
.value='工资对帐单'
.Font.Name="黑体"
.Font.size=16
endwith
ef.Rows(1).RowHeight=25 &&设置第一行高度为
ef.range("A2:M2").Select &&选择标题栏所在单元格
ef.Selection.Merge &&合并单元格
with ef.range("A2") &&设置标题及字体属性
.value="("+DTOC(FFRQ1)+"——"+DTOC(FFRQ2)+")"
.Font.Name="黑体"
.Font.size=10
endwith
ef.Rows(2).RowHeight=25
*ef.Rows(2).RowHeight=1/0.035 &&设置第二行高度为1cm
ef.Rows(3).RowHeight=8
ef.range("A4:B4").Select &&选择标题栏所在单元格
ef.Selection.Merge &&合并单元格
ef.range("C4:E4").Select &&选择标题栏所在单元格
ef.Selection.Merge &&合并单元格
ef.range("G4:H4").Select &&选择标题栏所在单元格
ef.Selection.Merge &&合并单元格
ef.range("J4:K4").Select &&选择标题栏所在单元格
ef.Selection.Merge &&合并单元格
ef.range("A4").value="部 门:"
ef.range("a4,F4,I4").HorizontalAlignment=2
ef.range("F4").value="职工号:"
* ef.range("f4").HorizontalAlignment=1
ef.range("I4").value="姓 名:"
* ef.range("i4").HorizontalAlignment=1
ef.range("C4").value=M_BM
ef.range("G4").value=M_ZGH
ef.range("J4").value=M_XM
ef.range("C4,J4").HorizontalAlignment=1
ef.range("G4").HorizontalAlignment=2
ef.range("C4,G4,J4").Font.Name="黑体"
ef.range("C4,G4,J4").Font.size=12
ef.Rows(5).RowHeight=8
ef.range("a6:d6").Select &&选择标题栏所在单元格
ef.Selection.Merge &&合并单元格
ef.range("a6").HorizontalAlignment=1
ef.range("A6").VALUE="1、工资(银行代付)"
ef.range("I6").VALUE="支付日期:"
ef.range("I6").HorizontalAlignment=1
ef.range("J6:K6").Select &&选择标题栏所在单元格
ef.Selection.Merge &&合并单元格
if ffrq<>{//}
ef.range("J6").VALUE=FFRQ
endif
ef.range("J6").HorizontalAlignment=2
ef.range("A7:K7").Select
ef.Selection.Merge
ef.range("A7").VALUE="工 资 组 成"
ef.range("A8:B8").Select
ef.Selection.Merge
ef.range("A8").VALUE="岗级"
ef.range("C8").VALUE=GWGZGJ
*ef.range("A9:B9").Select
*ef.Selection.Merge
*ef.range("A9").VALUE="房贴"
*ef.range("C9").VALUE=FT
*ef.range("A10:B10").Select
*ef.Selection.Merge
*ef.range("A10").VALUE="通讯费"
*ef.range("C10").VALUE=TXF
ef.range("D8").VALUE="薪级"
ef.range("E8").VALUE=GWGZXJ
ef.range("A9:B9").Select
ef.Selection.Merge
ef.range("A9").VALUE="补贴"
ef.range("C9").VALUE=BT
ef.range("H9").VALUE="补发"
ef.range("I9").VALUE=BF
* ef.range("D10").VALUE="午餐补贴"
*ef.range("E10").VALUE=WCBT
ef.range("F8").VALUE="岗薪工资"
ef.range("G8").VALUE=GXGZ
ef.range("F9").VALUE="月奖"
ef.range("G9").VALUE=YUEJ
*ef.range("F10").VALUE="施工津贴"
*ef.range("G10").VALUE=SGJT
ef.range("H8").VALUE="工龄工资"
ef.range("I8").VALUE=GLGZ
ef.range("J8").VALUE="加班工资"
ef.range("K8").VALUE=JBGZ
*ef.range("F10").VALUE="通讯费"
*ef.range("G10").VALUE=TXF
ef.range("D9").VALUE="预发"
ef.range("E9").VALUE=yf
*ef.range("J8").VALUE="工地津贴"
*ef.range("K8").VALUE=GDJT
ef.range("J9").VALUE="病事假"
ef.range("K9").VALUE=BSJ
ef.range("J10").VALUE="应发工资"
ef.range("K10").VALUE=YFGZ
ef.range("K10").Interior.ColorIndex = 15
ef.range("A11:K11").Select
ef.Selection.Merge
ef.range("A11").VALUE="代 扣 项 目"
ef.range("A12:B12").Select
ef.Selection.Merge
ef.range("A12").VALUE="公积金"
ef.range("C12").VALUE=GJJ
ef.range("A13:B13").Select
ef.Selection.Merge
ef.range("A13").VALUE="大病医疗"
ef.range("C13").VALUE=DBYL
ef.range("D12").VALUE="养老保险"
ef.range("E12").VALUE=JBBX
ef.range("D13").VALUE="个人调节税"
ef.range("E13").VALUE=GRTJS
ef.range("F12").VALUE="企业年金"
ef.range("G12").VALUE=BCBX
ef.range("F13").VALUE="其他扣款"
ef.range("G13").VALUE=KKX
ef.range("H12").VALUE="失业保险"
ef.range("I12").VALUE=SYBX
*ef.range("H13").VALUE="房租费"
*ef.range("I13").VALUE=FZF
ef.range("J12").VALUE="医疗保险"
ef.range("K12").VALUE=YLBX
ef.range("J13").VALUE="实发工资"
ef.range("K13").VALUE=SFGZ
ef.range("K13").Interior.ColorIndex = 15
ef.range("A14:B14").Select
ef.Selection.Merge
ef.range("A14").VALUE="工资说明:"
ef.range("A14").HorizontalAlignment=1
ef.range("C14:K14").Select
ef.Selection.Merge
ef.range("C14").VALUE=ALLTRIM(SM)
ef.range("C14").HorizontalAlignment=1
*给以上数据栏设为右对齐,保留2位小数
ef.range("C8:C10,C12:C13,E8:E10,E12:E13,G8:G10,G12:G13,I8:I10,I12:I13,K8:K10,K12:K13").NumberFormatLocal = "0.00"
ef.range("C8:C10,C12:C13,E8:E10,E12:E13,G8:G10,G12:G13,I8:I10,I12:I13,K8:K10,K12:K13").HorizontalAlignment=4
ef.Range("a7:k14").Borders.LineStyle=1
*以下是奖金部分
SELE JJK
SET FILTER TO XM=M_XM
SUM JJHJ,DKSL,SFSL TO M_JJHJ,M_DKSL,M_SFSL
COUNT TO M_TJBS
ef.range("a15:d15").select
ef.selection.Merge
ef.range("A15").VALUE="2、奖金、津补贴及其他"
ef.range("A15").HorizontalAlignment=1
ef.RANGE("A15").RowHeight=0.6/0.035
ef.range("A16").VALUE="序号"
ef.range("B16:d16").select
ef.selection.Merge
ef.range("B16").VALUE="发 放 名 称"
ef.range("E16").VALUE="发放日期"
ef.range("F16").VALUE="金额1"
ef.range("G16").VALUE="金额2"
ef.range("H16").VALUE="扣款"
ef.range("I16").VALUE="应发数"
ef.range("J16").VALUE="代扣数"
ef.range("K16").VALUE="实发数"
ef.range("L16").VALUE="支付方式"
ef.range("M16").VALUE="备注"
*数据栏设为右对齐,保留2位小数
M_CELL="K"+STR(M_TJBS+19,2)
ef.range("F17:&M_CELL").NumberFormatLocal = "0.00"
ef.range("F17:&M_CELL").HorizontalAlignment=4
*日期栏
M_CELL="E"+STR(M_TJBS+17,2)
ef.range("E17:&M_CELL").NumberFormatLocal = "YYYY-M-D"
*发放名称,备注栏设为左对齐
M_CELL="B"+STR(M_TJBS+17,2)
ef.range("B17:&M_CELL").HorizontalAlignment=1
M_CELL="M"+STR(M_TJBS+17,2)
ef.range("M17:&M_CELL").HorizontalAlignment=1
GO TOP
M_CNT=1
I=17
DO WHILE .NOT. EOF()
M_CELL1="B"+STR(I,2)
M_CELL2="D"+STR(I,2)
ef.range("&M_CELL1:&M_CELL2").select
ef.selection.Merge
ef.cells[I,1].value = M_CNT
ef.cells[I,2].value = JJMC
IF FFRQ<>{//}
ef.cells[I,5].value = FFRQ
ENDIF
ef.cells[I,6].value = JJSL
ef.cells[I,7].value = JJSL1
ef.cells[I,8].value = KJSL
ef.cells[I,9].value = JJHJ
ef.cells[I,10].value = DKSL
ef.cells[I,11].value = SFSL
IF empty(zh)
ef.cells[I,12].value ="现金支付"
ELSE
ef.cells[I,12].value ="银行代付"
ENDIF
ef.cells[I,13].value =ALLTRIM(SM)
M_CNT=M_CNT+1
I=I+1
SKIP
ENDDO
M_CELL1="A"+STR(I,2)
M_CELL2="E"+STR(I,2)
ef.range("&M_CELL1:&M_CELL2").select
ef.selection.Merge
ef.range("&M_CELL1").VALUE="本期奖金、津补贴等小计"
ef.range("&M_CELL1").Font.Name="黑体"
ef.cells[I,9].value = M_JJHJ
ef.cells[I,9].Interior.ColorIndex = 15
ef.cells[I,10].value = M_DKSL
ef.cells[I,10].Interior.ColorIndex = 15
ef.cells[I,11].value = M_SFSL
ef.cells[I,11].Interior.ColorIndex = 15
M_CELL1="M"+STR(I,2)
ef.Range("a16:&M_CELL1").Borders.LineStyle=1
*结尾部分
ef.Rows(i+1).RowHeight=0.4/0.035
I=I+2
M_CELL1="A"+STR(I,2)
M_CELL2="E"+STR(I,2)
ef.range("&M_CELL1:&M_CELL2").select
ef.selection.Merge
ef.range("&M_CELL1").VALUE="本期总计(包括工资):"
ef.range("&M_CELL1").Font.Name="黑体"
ef.cells[I,9].value = M_JJHJ+M_YFGZ
ef.cells[I,9].Interior.ColorIndex = 15
ef.cells[I,10].value = M_DKSL+(M_YFGZ-M_SFGZ)
ef.cells[I,10].Interior.ColorIndex = 15
ef.cells[I,11].value = M_SFSL+M_SFGZ
ef.cells[I,11].Interior.ColorIndex = 15
M_CELL1="A"+STR(I,2)
M_CELL2="K"+STR(I,2)
ef.Range("&M_CELL1:&M_CELL2").Borders.LineStyle=1
*加入另外通知说明信息
IF !EMPTY(THISFORM.EDIT1.VALUE)
I=I+1
ef.Rows(i).RowHeight=1/0.035
M_CELL1="A"+STR(I,2)
M_CELL2="M"+STR(I,2)
ef.range("&M_CELL1:&M_CELL2").select
ef.selection.Merge
ef.range("&M_CELL1").VALUE="注:"+ALLTRIM(THISFORM.EDIT1.VALUE)
ef.range("&M_CELL1").HorizontalAlignment=1
ef.range("&M_CELL1").Font.Bold=.t.
* ef.range("&M_CELL1").wordwrap=.t. &&折行
ENDIF
ef.range("A6,A7,A11,A15").Font.Name="黑体"
ef.cells[I,9].Font.Bold=.t.
ef.cells[I,10].Font.Bold=.t.
ef.cells[I,11].Font.Bold=.t.
ef.ActiveWorkbook.SaveAs("&默认驱动器.\LZGL\工资对帐单\&M_WJ")
ef.Workbooks.close
ef.quit
SELE HXK
SKIP
ENDDO
=MESSAGEBOX('已完成',64)
SELE GZK
USE
SELE HXK
ENDIF
*在职\按姓名打印
IF THISFORM.OPTIONGROUP1.VALUE=1 AND THISFORM.OPTIONGROUP2.VALUE=2
SELE HXK
SET FILTER TO
SET ORDER TO XH1
repl all CHK with ' '
for ncnt=1 to thisform.list1.listcount
if thisform.list1.selected(ncnt)
repl chk with '1' for XM=alltrim(thisform.list1.list(ncnt)) AND GD<>'退休'
endif
endfor
SET FILTER TO CHK='1'
GO TOP
ccnt=1000
M_XM=XM
M_ZGH=ZGH
M_GD=ALLTRIM(GD)
M_GDBM=ALLTRIM(GDBM)
M_BM=IIF(M_GD=M_GDBM,M_GD,M_GD+M_GDBM)
M_WJ=ALLTRIM(XM)+STR(MY,4)+IIF(MM<10,'0'+STR(MM,1),STR(MM,2))+''
SELE JJK
APPE FROM \LZGL\DBF\JJ\ZGJJ FOR XM=M_XM AND FFRQ>=FFRQ1 AND FFRQ<=FFRQ2 and !dele()
REPL ALL ZGBH WITH CCNT FOR XM=M_XM
LOCA FOR XM=M_XM
*若无奖金记录,则增加一条空记录
IF EOF()
APPE BLANK
REPL XM WITH M_XM,ZGBH WITH CCNT
ENDIF
SELE GZK
LOCA FOR XM=M_XM
*若无工资记录,则增加一条空记录
IF EOF()
APPE BLANK
REPL XM WITH M_XM,ZGBH WITH CCNT
ENDIF
M_YFGZ=YFGZ
M_SFGZ=SFGZ
*每个项目在\LZGL\TMP下建一子目录
* IF !Directory("\LZGL\TMP\&M_GD")
* MD \LZGL\TMP\&M_GD
* ENDIF
*每个部门在项目下建一子目录
* IF !Directory("\LZGL\TMP\&M_GD.\&M_GDBM")
* MD \LZGL\TMP\&M_GD.\&M_GDBM
* ENDIF
*删除老文件
* IF FILE("\LZGL\TMP\&M_GD.\&M_GDBM.\&M_WJ")
* ERAS \LZGL\TMP\&M_GD.\&M_GDBM.\&M_WJ
* ENDIF
IF FILE("\LZGL\工资对帐单\&M_WJ")
ERAS \LZGL\工资对帐单\&M_WJ
ENDIF
*生成EXCEL表
ef=CREATEOBJECT('Excel.application') &&调用Excel程序
ef.Workbooks.add &&添加工作簿
ef.Worksheets("sheet1").Activate &&激活第一个工作表
ef.ActiveSheet.PageSetup.Orientation=2 &&纸张方向 1-纵向,2-横向
ef.visible=.F. &&显示Excel界面
ef.ActiveSheet.PageSetup.TopMargin=1.8/0.035 &&设置距顶1.8厘米
ef.ActiveWindow.DisplayZeros=.F.
ef.range("A1:M30").Select
ef.Selection.Font.Size = 9 &&设置整表默认字体大小为10
ef.Selection.HorizontalAlignment = 3 &&居中对齐
* num=reccount() &&求导出总记录数
* i=5
ef.range("A:B").ColumnWidth=3.88
ef.range("C:L").ColumnWidth=8.13
ef.range("M1").ColumnWidth=18.50
ef.range("a1:a30").RowHeight=20 &&设置行高
ef.range("A1:M1").Select &&选择标题栏所在单元格
ef.Selection.Merge &&合并单元格
with ef.range("A1") &&设置标题及字体属性
.value='工资对帐单'
.Font.Name="黑体"
.Font.size=18
endwith
ef.Rows(1).RowHeight=25 &&设置第一行高度为
ef.range("A2:M2").Select &&选择标题栏所在单元格
ef.Selection.Merge &&合并单元格
with ef.range("A2") &&设置标题及字体属性
.value="("+DTOC(FFRQ1)+"——"+DTOC(FFRQ2)+")"
.Font.Name="黑体"
.Font.size=10
endwith
ef.Rows(2).RowHeight=25
*ef.Rows(2).RowHeight=1/0.035 &&设置第二行高度为1cm
ef.Rows(3).RowHeight=8
ef.range("A4:B4").Select &&选择标题栏所在单元格
ef.Selection.Merge &&合并单元格
ef.range("C4:E4").Select &&选择标题栏所在单元格
ef.Selection.Merge &&合并单元格
ef.range("G4:H4").Select &&选择标题栏所在单元格
ef.Selection.Merge &&合并单元格
ef.range("J4:K4").Select &&选择标题栏所在单元格
ef.Selection.Merge &&合并单元格
ef.range("A4").value="部 门:"
ef.range("a4,F4,I4").HorizontalAlignment=2
ef.range("F4").value="职工号:"
* ef.range("f4").HorizontalAlignment=1
ef.range("I4").value="姓 名:"
* ef.range("i4").HorizontalAlignment=1
ef.range("C4").value=M_BM
ef.range("G4").value=M_ZGH
ef.range("J4").value=M_XM
ef.range("C4,J4").HorizontalAlignment=1
ef.range("G4").HorizontalAlignment=2
ef.range("C4,G4,J4").Font.Name="黑体"
ef.range("C4,G4,J4").Font.size=12
ef.Rows(5).RowHeight=8
ef.range("a6:d6").Select &&选择标题栏所在单元格
ef.Selection.Merge &&合并单元格
ef.range("a6").HorizontalAlignment=1
ef.range("A6").VALUE="1、工资(银行代付)"
ef.range("I6").VALUE="支付日期:"
ef.range("I6").HorizontalAlignment=1
ef.range("J6:K6").Select &&选择标题栏所在单元格
ef.Selection.Merge &&合并单元格
if ffrq<>{//}
ef.range("J6").VALUE=FFRQ
endif
ef.range("J6").HorizontalAlignment=2
ef.range("A7:K7").Select
ef.Selection.Merge
ef.range("A7").VALUE="工 资 组 成"
ef.range("A8:B8").Select
ef.Selection.Merge
ef.range("A8").VALUE="岗级"
ef.range("C8").VALUE=GWGZGJ
*ef.range("A9:B9").Select
*ef.Selection.Merge
*ef.range("A9").VALUE="房贴"
*ef.range("C9").VALUE=FT
*ef.range("A10:B10").Select
*ef.Selection.Merge
*ef.range("A10").VALUE="通讯费"
*ef.range("C10").VALUE=TXF
ef.range("D8").VALUE="薪级"
ef.range("E8").VALUE=GWGZXJ
ef.range("A9:B9").Select
ef.Selection.Merge
ef.range("A9").VALUE="补贴"
ef.range("C9").VALUE=BT
ef.range("H9").VALUE="补发"
ef.range("I9").VALUE=BF
* ef.range("D10").VALUE="午餐补贴"
*ef.range("E10").VALUE=WCBT
ef.range("F8").VALUE="岗薪工资"
ef.range("G8").VALUE=GXGZ
ef.range("F9").VALUE="月奖"
ef.range("G9").VALUE=YUEJ
*ef.range("F10").VALUE="施工津贴"
*ef.range("G10").VALUE=SGJT
ef.range("H8").VALUE="工龄工资"
ef.range("I8").VALUE=GLGZ
ef.range("J8").VALUE="加班工资"
ef.range("K8").VALUE=JBGZ
*ef.range("F10").VALUE="通讯费"
*ef.range("G10").VALUE=TXF
ef.range("D9").VALUE="预发"
ef.range("E9").VALUE=yf
*ef.range("J8").VALUE="工地津贴"
*ef.range("K8").VALUE=GDJT
ef.range("J9").VALUE="病事假"
ef.range("K9").VALUE=BSJ
ef.range("A10:B10").Select
ef.Selection.Merge
ef.range("A10").VALUE="通讯费"
ef.range("C10").VALUE=TXF
ef.range("J10").VALUE="应发工资"
ef.range("K10").VALUE=YFGZ
ef.range("K10").Interior.ColorIndex = 15
ef.range("A11:K11").Select
ef.Selection.Merge
ef.range("A11").VALUE="代 扣 项 目"
ef.range("A12:B12").Select
ef.Selection.Merge
ef.range("A12").VALUE="公积金"
ef.range("C12").VALUE=GJJ
ef.range("A13:B13").Select
ef.Selection.Merge
ef.range("A13").VALUE="大病医疗"
ef.range("C13").VALUE=DBYL
ef.range("D12").VALUE="养老保险"
ef.range("E12").VALUE=JBBX
ef.range("D13").VALUE="个人调节税"
ef.range("E13").VALUE=GRTJS
ef.range("F12").VALUE="企业年金"
ef.range("G12").VALUE=BCBX
ef.range("F13").VALUE="其他扣款"
ef.range("G13").VALUE=KKX
ef.range("H12").VALUE="失业保险"
ef.range("I12").VALUE=SYBX
*ef.range("H13").VALUE="房租费"
*ef.range("I13").VALUE=FZF
ef.range("J12").VALUE="医疗保险"
ef.range("K12").VALUE=YLBX
ef.range("J13").VALUE="实发工资"
ef.range("K13").VALUE=SFGZ
ef.range("K13").Interior.ColorIndex = 15
ef.range("A14:B14").Select
ef.Selection.Merge
ef.range("A14").VALUE="工资说明:"
ef.range("A14").HorizontalAlignment=1
ef.range("C14:K14").Select
ef.Selection.Merge
ef.range("C14").VALUE=ALLTRIM(SM)
ef.range("C14").HorizontalAlignment=1
*给以上数据栏设为右对齐,保留2位小数
ef.range("C8:C10,C12:C13,E8:E10,E12:E13,G8:G10,G12:G13,I8:I10,I12:I13,K8:K10,K12:K13").NumberFormatLocal = "0.00"
ef.range("C8:C10,C12:C13,E8:E10,E12:E13,G8:G10,G12:G13,I8:I10,I12:I13,K8:K10,K12:K13").HorizontalAlignment=4
ef.Range("a7:k14").Borders.LineStyle=1
*以下是奖金部分
SELE JJK
SET FILTER TO XM=M_XM
SUM JJHJ,DKSL,SFSL TO M_JJHJ,M_DKSL,M_SFSL
COUNT TO M_TJBS
ef.range("a15:d15").select
ef.selection.Merge
ef.range("A15").VALUE="2、奖金、津补贴及其他"
ef.range("A15").HorizontalAlignment=1
ef.RANGE("A15").RowHeight=0.6/0.035
ef.range("A16").VALUE="序号"
ef.range("B16:d16").select
ef.selection.Merge
ef.range("B16").VALUE="发 放 名 称"
ef.range("E16").VALUE="发放日期"
ef.range("F16").VALUE="金额1"
ef.range("G16").VALUE="金额2"
ef.range("H16").VALUE="扣款"
ef.range("I16").VALUE="应发数"
ef.range("J16").VALUE="代扣款"
ef.range("K16").VALUE="实发数"
ef.range("L16").VALUE="支付方式"
ef.range("M16").VALUE="备注"
*数据栏设为右对齐,保留2位小数
M_CELL="K"+STR(M_TJBS+19,2)
ef.range("F17:&M_CELL").NumberFormatLocal = "0.00"
ef.range("F17:&M_CELL").HorizontalAlignment=4
*日期栏
M_CELL="E"+STR(M_TJBS+17,2)
ef.range("E17:&M_CELL").NumberFormatLocal = "YYYY-M-D"
*发放名称,备注栏设为左对齐
M_CELL="B"+STR(M_TJBS+17,2)
ef.range("B17:&M_CELL").HorizontalAlignment=1
M_CELL="M"+STR(M_TJBS+17,2)
ef.range("M17:&M_CELL").HorizontalAlignment=1
GO TOP
M_CNT=1
I=17
DO WHILE .NOT. EOF()
M_CELL1="B"+STR(I,2)
M_CELL2="D"+STR(I,2)
ef.range("&M_CELL1:&M_CELL2").select
ef.selection.Merge
ef.cells[I,1].value = M_CNT
ef.cells[I,2].value = JJMC
IF FFRQ<>{//}
ef.cells[I,5].value = FFRQ
ENDIF
ef.cells[I,6].value = JJSL
ef.cells[I,7].value = JJSL1
ef.cells[I,8].value = KJSL
ef.cells[I,9].value = JJHJ
ef.cells[I,10].value = DKSL
ef.cells[I,11].value = SFSL
IF empty(zh)
ef.cells[I,12].value ="现金支付"
ELSE
ef.cells[I,12].value ="银行代付"
ENDIF
ef.cells[I,13].value =ALLTRIM(SM)
M_CNT=M_CNT+1
I=I+1
SKIP
ENDDO
M_CELL1="A"+STR(I,2)
M_CELL2="E"+STR(I,2)
ef.range("&M_CELL1:&M_CELL2").select
ef.selection.Merge
ef.range("&M_CELL1").VALUE="本期奖金、津补贴等小计"
ef.range("&M_CELL1").Font.Name="黑体"
ef.cells[I,9].value = M_JJHJ
ef.cells[I,9].Interior.ColorIndex = 15
ef.cells[I,10].value = M_DKSL
ef.cells[I,10].Interior.ColorIndex = 15
ef.cells[I,11].value = M_SFSL
ef.cells[I,11].Interior.ColorIndex = 15
M_CELL1="M"+STR(I,2)
* ef.Range("a16:&M_CELL1").Borders(1).LineStyle=1
* ef.Range("a16:&M_CELL1").Borders(2).LineStyle=1
* ef.Range("a16:&M_CELL1").Borders(3).LineStyle=1
ef.Range("a16:&M_CELL1").Borders.LineStyle=1
*结尾部分
ef.Rows(i+1).RowHeight=0.4/0.035
I=I+2
M_CELL1="A"+STR(I,2)
M_CELL2="E"+STR(I,2)
ef.range("&M_CELL1:&M_CELL2").select
ef.selection.Merge
ef.range("&M_CELL1").VALUE="本期总计(包括工资):"
ef.range("&M_CELL1").Font.Name="黑体"
ef.cells[I,9].value = M_JJHJ+M_YFGZ
ef.cells[I,9].Interior.ColorIndex = 15
ef.cells[I,10].value = M_DKSL+(M_YFGZ-M_SFGZ)
ef.cells[I,10].Interior.ColorIndex = 15
ef.cells[I,11].value = M_SFSL+M_SFGZ
ef.cells[I,11].Interior.ColorIndex = 15
M_CELL1="A"+STR(I,2)
M_CELL2="K"+STR(I,2)
* ef.Range("&M_CELL1:&M_CELL2").Borders(1).LineStyle=1
* ef.Range("&M_CELL1:&M_CELL2").Borders(2).LineStyle=1
* ef.Range("&M_CELL1:&M_CELL2").Borders(3).LineStyle=1
ef.Range("&M_CELL1:&M_CELL2").Borders.LineStyle=1
*加入另外通知说明信息
IF !EMPTY(THISFORM.EDIT1.VALUE)
I=I+1
ef.Rows(i).RowHeight=1/0.035
M_CELL1="A"+STR(I,2)
M_CELL2="M"+STR(I,2)
ef.range("&M_CELL1:&M_CELL2").select
ef.selection.Merge
ef.range("&M_CELL1").VALUE="注:"+ALLTRIM(THISFORM.EDIT1.VALUE)
ef.range("&M_CELL1").HorizontalAlignment=1
ef.range("&M_CELL1").Font.Bold=.t.
* ef.range("&M_CELL1").wordwrap=.t.
ENDIF
ef.range("A6,A7,A11,A15").Font.Name="黑体"
ef.cells[I,9].Font.Bold=.t.
ef.cells[I,10].Font.Bold=.t.
ef.cells[I,11].Font.Bold=.t.
ef.ActiveWorkbook.SaveAs("&默认驱动器.\LZGL\工资对帐单\&M_WJ")
ef.Workbooks.close
ef.quit
=MESSAGEBOX('已完成',64)
SELE GZK
USE
sele hxk
return
ENDIF
[此贴子已经被作者于2018-4-20 15:58编辑过]