ziyaxian 发表于 2010-1-2 07:07:27

有什么方法实现此脚本在任何目录下都能运行吗?

本帖最后由 ziyaxian 于 2010-1-2 21:31 编辑

以下脚本编译成EXE文件后,在根目录下不能正常运行,但在除根目录下的任何目录中都能运行,有什么方法使其即能在根目录下运行,也能在别的目录下运行呢?发现@ScriptDir 在根目录下的取值为“X:\”,而的别的目录下的取值为“X:\AAA”,是不是和@ScriptDir 取值有关,但又不知道怎么改,急啊!!



#include <Excel.au3>

$sFilePath1 = @ScriptDir & "\Test1.xls" ;这个文件应该已经存在
$oExcel = _ExcelBookOpen($sFilePath1,0)

If @error = 1 Then
    MsgBox(0, "错误!", "无法创建对象!")
    Exit
ElseIf @error = 2 Then
    MsgBox(0, "错误!", "文件不存在!")
    Exit
EndIf

_ExcelBookSaveAs($oExcel, @ScriptDir & "\SaveAsExample", "xls");没有任何提示的情况下保存
If Not @error Then MsgBox(0, "成功!", "文件已保存!")
_ExcelBookClose($oExcel, 1, 0) ;在没有任何提示的情况下保存该文件,然后关闭.

afan 发表于 2010-1-2 12:49:41

Local $Dir = @ScriptDir
If StringRight(@ScriptDir, 1) = '\' Then $Dir = StringTrimRight(@ScriptDir, 1)
$sFilePath1 = $Dir & "\Test1.xls" ;
MsgBox(0, 0, $sFilePath1)

顽固不化 发表于 2010-1-2 14:25:38

平时还真没多考虑根目录@ScriptDir返回带“\”的问题

ziyaxian 发表于 2010-1-2 21:31:12

谢谢afan,问题终于解决了!!!
页: [1]
查看完整版本: 有什么方法实现此脚本在任何目录下都能运行吗?