标题:能否用程序把分页符加上去?
只看楼主
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1519
专家分:174
注 册:2006-6-3
得分:0 
我把它放入我的程序中去后,死掉了,不知如何插入这块模块。请明示。多谢了。
filename=GETFILE("dbf")  &&随便别一个数据库
IF EMPTY(filename)
 RETURN
ENDIF
USE &filename
filename=SUBSTR(filename,RAT("\",filename,1)+1)
filename=LEFT(filename,RAT(".",filename,1)-1)
pp=CREATEOBJECT("excel.application")
pp.workbooks.ADD
pp.worksheets("sheet1").ACTIVATE &&这里就是增加一个工作表,你可以打开多个数据表,然后增加多个工作表
hx=FCOUNT()  &&表的横向变量,即字段个数

*hx=3        &&&确定3个字段
sx=RECC()    &&表的坚向变量,即记录长度
sx1=1
GO TOP
FOR hx1=1 TO hx   &&这个循环打印字段名称
 bl=FIELD(hx1)
 pp.cells(3,hx1).VALUE=bl  &&字段名称显示在第三行。
ENDFOR
pp.cells.SELECT &&选择所有单元格
pp.Selection.NumberFormatLocal = "@"  &&将所有单元格设置成“文本”格式


DO WHILE sx1<sx+1 &&每条记录来一个循环,向excel中填充数据
 FOR hx1=1 TO hx  &&从第四条开始填充数据
  bl=FIELD(hx1)
  pp.cells(sx1+3,hx1).VALUE=&bl   && &bl的意思就是把相应字段值赋值给单元格
 ENDFOR
 SKIP+1  &&dbf表的数据指针指向下一条记录
 sx1=sx1+1
ENDDO




*以下的一块内容引用了您的有关内容:

WITH pp.workbooks(1).worksheets(1)
  
  GO TOP
  lnDw=lqk.lqyxdm
  FOR lnCnt=1 TO RECCOUNT('lqk')
   
    GO lnCnt
    .RANGE('A'+TRANSFORM(lnCnt)).VALUE=lqk.bmxh
    .RANGE('B'+TRANSFORM(lnCnt)).VALUE=lqk.xm
    .RANGE('C'+TRANSFORM(lnCnt)).VALUE=lqk.yxmc
    .RANGE('D'+TRANSFORM(lnCnt)).VALUE=lqk.lqyxdm

IF lnDW!=lqk.lqyxdm
      lcRange='A'+TRANSFORM(lnCnt)
      .hpagebreaks.ADD(.RANGE(lcRange))
      lnDw=lqk.lqyxdm
    ENDIF
  ENDFOR
ENDWITH
*!*    o.displayalerts=.f.
*!*    o.quit
RETURN


pp.cells(2,1)="日期:"+ALLT(DTOC(DATE()))
pp.cells.SELECT &&选择所有单元格
pp.SELECTION.FONT.SIZE=9 &&字体设置为9号字体
pp.cells(1,3).VALUE=(filename+"文件导出表")  &&设置表头标题
pp.cells(1,3).FONT.NAME="黑体"
pp.cells(1,3).FONT.SIZE=24
pp.CAPTION="EXCEL表单名"
pp.COLUMNS(1).COLUMNWIDTH=12
pp.COLUMNS("B:U").SELECT
pp.SELECTION.COLUMNWIDTH=7
pp.cells(1,1).SELECT
pp.APPLICATION.VISIBLE=.T.
*set talk on
2008-01-11 16:48
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1519
专家分:174
注 册:2006-6-3
得分:0 
是张洪举的那本书?他的书太多了。
2008-01-14 11:03
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1519
专家分:174
注 册:2006-6-3
得分:0 
请教:Tiger5392
“.RANGE('A'+TRANSFORM(lnCnt)).VALUE=Temp2.dw
 lcRange='A'+TRANSFORM(lnCnt)
      .hpagebreaks.ADD(.RANGE(lcRange))”
请教:
.range('A'+TRANSFORM(lncnt))此句是什么意思?
lcRange='A'+TRANSFORM(lnCnt)此句是什么意思?
.hpagebreaks.ADD(.RANGE(lcRange))此句是什么意思?
我不懂excel vba语言,请指教,多谢了。
2008-02-18 15:33
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
得分:0 
在你的电脑里找 vbaxl9.chm 这个文件,有详细的解释

感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2008-02-18 15:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-196811-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021934 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved