今天用pb 导入Excel时遇到个难题。
假设应用程序安装在D:/mysoft目录下,应用程序当前路径就是d:/mysoft,
如果,使用汇出Excel文件保存时,选择了其他路径c:/,应该程序的当前路径就会改变为c:/;由于系统中有很多图片是使用相对路径的,如果改变了应用程序当前路径的话,就会导致图处无法显示。
从网上查询到的解决方法使用2个函数:
GetCurrentDirectoryA、SetCurrentDirectoryA
但自己试过并不成功。
自己尝试发现有个更简便的方法可以使用:
1. 定义全局变量:gs_path,在导出Excel之前为gs_path附值,取得应该程序当前路径:
gs_path = GetCurrentDirectory()
//此时gs_path = "d:/mysoft"
2. 报表汇出Excel到c:/路径下;
//此时如果调用GetCurrentDirectory()时,当前路径就是c:/
3. 使用ChangeDirectory()还原应该系统原来路径:
ChangeDirectory( gs_path)