1

我希望能够从我的 javascrip 脚本中引用 iMacros 文件夹,以便编写:

retcode = iimPlay(folder + "/macro1.iim");
retcode = iimPlay(folder + "/macro2.iim");

代替

retcode = iimPlay("test/macro1.iim");
retcode = iimPlay("test/macro2.iim");

我知道在 vbs 中是可能的,但我不知道在 javascript 中是否是这种情况。

4

2 回答 2

2

它与 javascript 的工作方式类似,这里是代码示例:

var folder="c:\\data\\"
iimPlay(folder+"1.iim");

此代码将从 c:\data 文件夹运行 1.iim 脚本

于 2013-01-05T08:22:35.340 回答
1

您可以使用内置的 !FOLDER_DATASOURCE 变量来获取当前 javascript 宏的文件夹。

//Extract folder path of 'Datasources' folder (located inside 'iMacros' folder)
iimPlayCode("SET !EXTRACT {{!FOLDER_DATASOURCE}}");
var folderPath = iimGetExtract();
//Remove 'Datasources' from end of folder path string
folderPath = folderPath.slice(0,-11);
//Append 'Macros' to end of above path
folderPath = folderPath+"Macros\\";
alert(folderPath);

在单个命令中执行上述步骤。

//Extract folder path of 'Datasources' folder (located inside 'iMacros' folder)
iimPlayCode("SET !EXTRACT {{!FOLDER_DATASOURCE}}");
//Remove 'Datasources' from end of folder path string and append 'Macros'
var folderPath = iimGetExtract().slice(0,-11)+"Macros\\";
alert(folderPath);

另一种可能的方法是在文件夹路径中用“宏”替换“数据源”。

//Extract folder path of 'Datasources' folder (located inside 'iMacros' folder)
iimPlayCode("SET !EXTRACT {{!FOLDER_DATASOURCE}}");
//Replace 'Datasources' with 'Macros' in folder path string
var folderPath = iimGetExtract().replace("Datasources","Macros\\");
alert(folderPath);

但是,如果文件夹路径在其他任何地方包含“数据源”,则可能会产生问题。您可以根据自己的选择使用上述任何一种方法。

获得“宏”文件夹的文件夹路径后,您可以像使用它一样使用它。

retcode = iimPlay(folderPath + "macro1.iim");
于 2019-03-10T03:14:05.043 回答