| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2733 人关注过本帖
标题:【求大神指点代码】PRG连编成EXE后,输出excel文件到固定路径失效
只看楼主 加入收藏
thb1993419
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2019-6-4
结帖率:80%
收藏
已结贴  问题点数:20 回复次数:12 
【求大神指点代码】PRG连编成EXE后,输出excel文件到固定路径失效
自己写了个程序,获取当前程序所在路径,然后输出excel文件指定到某个文件夹,在prg状态下,没问题,但是编译成exe就失效了,不知道是怎么回事,请大神们指导!

例如:
exe或prg文件所在目录 D:\测试
自由表啥的要处理的dbf都在  D:\测试\dbf文件放入此文件夹
输出的excel想要在exe所在的目录 (D:\测试)



以下是程序代码,中间的就忽略了

PUBLIC LCNowpath
LCNowpath=Addbs(Justpath(Sys(16)))   &&获取当前运行程序所在工作目录。
LCNowpath2= LCNowpath+"dbf文件放入此文件夹"   &&我的自由表啥的都在这个文件夹,所以默认目录设在这里了

set defa to '&LCNowpath2'

*
*
*
USE phjk1.dbf
    ksk1 =  LCNowpath + "合成【总表】.Xls Type Xl5"
    Copy To  &ksk1


在运行prg程序的时候,可以成功的将excel导出到和exe同目录下,但是连编成exe后,就不管用了,生成的excel就在之前设置的默认目录里了。
这是什么情况,请大神分析分析,给小弟指点迷津!

[此贴子已经被作者于2019-6-13 18:11编辑过]

搜索更多相关主题的帖子: PRG EXE excel 文件 目录 
2019-06-13 16:38
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:41
帖 子:766
专家分:2517
注 册:2011-5-8
收藏
得分:0 
LCNowpath2= LCNowpath+"dbf文件放入此文件夹\"

dBase有人接盘了。
2019-06-13 17:14
thb1993419
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2019-6-4
收藏
得分:0 
以下是引用xuminxz在2019-6-13 17:14:42的发言:

LCNowpath2= LCNowpath+"dbf文件放入此文件夹\"

 
LCNowpath2是用来设置默认目录的,也就是说要处理的数据都在这个目录,我说的主要是后面输出excel的那个地方,编译成exe之后就失效了
2019-06-13 17:32
xuminxz
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:41
帖 子:766
专家分:2517
注 册:2011-5-8
收藏
得分:0 
你以为问题在这里,可能问题不在这里。你的问题说不清楚( 比如你的文件存到哪了),又没有完整的代码,别人很难准确地回答你的问题。

dBase有人接盘了。
2019-06-13 18:13
thb1993419
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2019-6-4
收藏
得分:0 
以下是引用xuminxz在2019-6-13 18:13:18的发言:

你以为问题在这里,可能问题不在这里。你的问题说不清楚( 比如你的文件存到哪了),又没有完整的代码,别人很难准确地回答你的问题。



exe文件在根目录
需要进行处理的数据表dbf在子文件夹
生成的excel想生成在和exe一样的根目录里,不想生成在子文件夹。



上面的语句就是关键得语句啊,中间处理过程我都省略了,不知道为什么在prg的状态下执行excel可以生成到根目录,但是编译成exe以后运行,就生成到子文件夹了
2019-06-13 19:19
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9848
专家分:27241
注 册:2012-2-5
收藏
得分:0 
PUBLIC LCNowpath
LCNowpath=Addbs(Justpath(Sys(16)))   &&获取当前运行程序所在工作目录。
LCNowpath2= LCNowpath+"dbf文件放入此文件夹"   &&我的自由表啥的都在这个文件夹,所以默认目录设在这里了

set defa to '&LCNowpath2' && 注释掉,路径设置错误
set defa to &LCNowpath && 改成这样试试
*
*
*
USE dbf文件路径\phjk1
**    ksk1 =  LCNowpath + "合成【总表】.Xls Type Xl5"
    Copy To  合成【总表】.Xls Type Xl5

坚守VFP最后的阵地
2019-06-13 20:03
thb1993419
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2019-6-4
收藏
得分:0 
以下是引用sdta在2019-6-13 20:03:36的发言:

PUBLIC LCNowpath
LCNowpath=Addbs(Justpath(Sys(16)))   &&获取当前运行程序所在工作目录。
LCNowpath2= LCNowpath+"dbf文件放入此文件夹"   &&我的自由表啥的都在这个文件夹,所以默认目录设在这里了

set defa to '&LCNowpath2' && 注释掉,路径设置错误
set defa to &LCNowpath && 改成这样试试
*
*
*
USE dbf文件路径\phjk1
**    ksk1 =  LCNowpath + "合成【总表】.Xls Type Xl5"
    Copy To  合成【总表】.Xls Type Xl5





大神,我刚才试了下输出。连编成exe以后,LCNowpath=Addbs(Justpath(Sys(16)))    这句话输出不了路径,只能输出文件名,没有路径,但是在prg下运行是可以输出路径的
2019-06-13 20:21
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9848
专家分:27241
注 册:2012-2-5
收藏
得分:10 
主程序中设置根路径,子程序中不用再设置
XP下可以输出路径的

坚守VFP最后的阵地
2019-06-13 20:35
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9848
专家分:27241
注 册:2012-2-5
收藏
得分:10 

设置EXE文件路径
SET DEFAULT TO ......
然后设置搜索路径
SET PATH TO ......

坚守VFP最后的阵地
2019-06-13 20:43
thb1993419
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2019-6-4
收藏
得分:0 
以下是引用sdta在2019-6-13 20:43:44的发言:


设置EXE文件路径
SET DEFAULT TO ......
然后设置搜索路径
SET PATH TO ......



感谢大神的知道哈,的确自己的代码和方式都有很多不完善的地方。
经过自己的测试,发现 使用“Sys(16)”命令,在编译为exe的时候获取不到当前路径信息,改为“SYS(5)+SYS(2003)”命令后一切正常。大家如果有遇到此类问题的可以试试。
2019-06-13 21:36
快速回复:【求大神指点代码】PRG连编成EXE后,输出excel文件到固定路径失效
数据加载中...
 
   



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

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