| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3278 人关注过本帖
标题:如何顺次打印表文件(dywj.dbf)中的文件
只看楼主 加入收藏
王咸美
Rank: 1
等 级:新手上路
帖 子:658
专家分:3
注 册:2018-1-4
结帖率:97.44%
收藏
已结贴  问题点数:16 回复次数:17 
如何顺次打印表文件(dywj.dbf)中的文件
    我将顺次打印表文件(dywj.dbf)中的文件,如打印word文档、打印excel文档、显示表文件、运行程序,下列程序
dywj.zip (747 Bytes)
有点问题,恳请高手帮忙修正,万分感谢!!!

程序代码(待完善)
CLOSE ALL
CLEAR ALL
SET TALK OFF
SET SAFETY OFF
SET COMPATIBLE OFF

cCurrentProcedure = SYS(16,1)
nPathStart = AT(":",cCurrentProcedure)- 1
nLenOfPath = RAT("\", cCurrentProcedure) - (nPathStart)
mypath=SUBSTR(cCurrentProcedure, nPathStart, nLenofPath)
SET Default TO (mypath)

use dywj
SCAN

  wjm=ALLTRIM(EVALUATE(fields(2)))+ALLTRIM(EVALUATE(fields(4)))
  DO CASE
     CASE 文件类型="doc"
      wordapp=CREATEOBJECT("word.application")
      wordapp.visible=.t.
      wordtable=wordapp.application.Documents.open(wjm)
      wordapp.ActiveDocument.printout()
      wordapp.quit
      
    CASE 文件类型="xls"
     oExcel = GETOBJECT("","Excel.Sheet")
     oExcelApp= oExcel.Application
     oExcelApp.workbooks.open(wjm)
     oExcelApp.Visible=.t.
     oExcelApp.ActiveWorkbook.PrintOut()
     oExcelApp=.NULL.
     *oExcelApp.quit
     
    CASE 文件类型="dbf"
      use &wjm
      BROWSE
      
      
    CASE 文件类型="prg"
    do (wjm)
   
  ENDCASE   
ENDSCAN
RETURN
搜索更多相关主题的帖子: 打印 文件 dbf CASE 类型 
2018-09-29 16:47
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2214
专家分:3882
注 册:2007-4-27
收藏
得分:10 
以下是引用王咸美在2018-9-29 16:47:14的发言:

    我将顺次打印表文件(dywj.dbf)中的文件,如打印word文档、打印excel文档、显示表文件、运行程序,下列程序有点问题,恳请高手帮忙修正,万分感谢!!!

程序代码(待完善)
CLOSE ALL
CLEAR ALL
SET TALK OFF
SET SAFETY OFF
SET COMPATIBLE OFF

cCurrentProcedure = SYS(16,1)
nPathStart = AT(":",cCurrentProcedure)- 1
nLenOfPath = RAT("\", cCurrentProcedure) - (nPathStart)
mypath=SUBSTR(cCurrentProcedure, nPathStart, nLenofPath)
SET Default TO (mypath)

use dywj
SCAN

  wjm=ALLTRIM(dywj.路径)+ALLTRIM(dywj.文件名)+"."+allt(dywj.文件类型)
  DO CASE
     CASE 文件类型="doc"
      wordapp=CREATEOBJECT("word.application")
      wordapp.visible=.t.
      wordtable=wordapp.application.Documents.open(wjm)
      wordapp.ActiveDocument.printout()
      wordapp.quit
      
    CASE 文件类型="xls"
     oExcel = GETOBJECT("","Excel.Sheet")
     oExcelApp= oExcel.Application
     oExcelApp.workbooks.open(wjm)
     oExcelApp.Visible=.t.
     oExcelApp.ActiveWorkbook.PrintOut()
     oExcelApp=.NULL.
     *oExcelApp.quit
     
    CASE 文件类型="dbf"
      use &wjm
      BROWSE
      
      
    CASE 文件类型="prg"
    do (wjm)
   
  ENDCASE   
  sele dywj
ENDSCAN
RETURN


试试

只求每天有一丁点儿的进步就可以了
2018-09-29 17:22
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:1 
ALLTRIM(文件类型)=="doc"

坚守VFP最后的阵地
2018-09-29 18:17
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:5 
   CASE ALLTRIM(文件类型)=="xls"
     oExcel = CREATEOBJECT("Excel.Application")
     oExcel.workbooks.open(ALLTRIM(路径)+ALLTRIM(Wjm)+"."+ALLTRIM(文件类型))
     oExcel.Visible=.t.
     oExcel.ActiveSheet.PrintOut()
     oExcel.quit
     RELEASE oExcel

坚守VFP最后的阵地
2018-09-29 18:24
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1712
专家分:3318
注 册:2012-2-29
收藏
得分:0 
回复 楼主 王咸美
按照楼上两位的方法修改之后测试,完全正确,没有一点问题的哈。
2018-09-29 18:32
王咸美
Rank: 1
等 级:新手上路
帖 子:658
专家分:3
注 册:2018-1-4
收藏
得分:0 
回复 5楼 schtg
首先感谢各位的付出!但修改后的程序在运行时出现下列问题:
(1)找不到别名 'DYWJ'
 (2)文件类型="prg"的未运行相应的程序
还请高手赐教!
2018-09-29 21:03
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
贴上你修改后的代码

坚守VFP最后的阵地
2018-09-29 21:38
王咸美
Rank: 1
等 级:新手上路
帖 子:658
专家分:3
注 册:2018-1-4
收藏
得分:0 
修改后的代码仍有问题,请高手赐教!

CLOSE ALL
CLEAR ALL
SET TALK OFF
SET SAFETY OFF
SET COMPATIBLE OFF

cCurrentProcedure = SYS(16,1)
nPathStart = AT(":",cCurrentProcedure)- 1
nLenOfPath = RAT("\", cCurrentProcedure) - (nPathStart)
mypath=SUBSTR(cCurrentProcedure, nPathStart, nLenofPath)
SET Default TO (mypath)

use dywj
SCAN

  wjm=ALLTRIM(路径)+ALLTRIM(文件名)+"."+allt(文件类型)
  DO CASE
     CASE ALLTRIM(文件类型)=="doc"
      wordapp=CREATEOBJECT("word.application")
      wordapp.visible=.t.
      wordtable=wordapp.application.Documents.open(wjm)
      wordapp.ActiveDocument.printout()
      wordapp.quit
      
    CASE ALLTRIM(文件类型)=="xls"
     oExcel = CREATEOBJECT("Excel.Application")
     oExcel.workbooks.open(wjm)
     oExcel.Visible=.t.
     oExcel.ActiveSheet.PrintOut()
     oExcel.quit
     RELEASE oExcel
     
    CASE ALLTRIM(文件类型)=="dbf"
     use &wjm
     BROWSE
      
      
    CASE ALLTRIM(文件类型)=="prg"
     do (wjm)
   
  ENDCASE   
  SELECT dywj
ENDSCAN
RETURN


2018-09-29 21:51
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
cCurrentProcedure = SYS(16,1)
nPathStart = AT(":",cCurrentProcedure)- 1
nLenOfPath = RAT("\", cCurrentProcedure) - (nPathStart)
mypath=SUBSTR(cCurrentProcedure, nPathStart, nLenofPath)
SET Default TO (mypath)

这 5 行代码没有用处

dywj.dbf 文件必须在当前目录下

坚守VFP最后的阵地
2018-09-29 21:55
wangzhiyi
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:366
专家分:684
注 册:2014-4-9
收藏
得分:0 
如果讲完善的话, CASE ALLTRIM(文件类型)=="prg"
最好改成 CASE lower(ALLTRIM(文件类型))=="prg"
2018-09-30 08:00
快速回复:如何顺次打印表文件(dywj.dbf)中的文件
数据加载中...
 
   



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

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