在iMacros javascript中选择数据源文件

Choose Datasource file in iMacros javascript

本文关键字:数据 数据源 源文件 选择 iMacros javascript      更新时间:2023-09-26

我正在尝试制作iMacros脚本,以便用户能够从一开始就选择数据源文件。

这是我找到的一个解决方案,它很有效:

var sourcefile=prompt("输入文件位置");

然后我在脚本中使用变量作为{{sourcefile}}。

macro+="SET!DATASOURCE{sourcefile}}"+"''n";

问题是,在这种情况下,用户必须输入完整的路径和文件名。我想更改javascript代码,这样用户就可以有"浏览"按钮,并可以通过点击来选择数据源文件。

尝试以下代码而不是prompt-对话:

var sourcefile = imns.Dialogs.browseForFileOpen("Enter file location");
if (sourcefile)
    sourcefile = sourcefile.path;

我认为使用文件类型(如*.csv):更好

// imacros imns.Dialogs.browseForFileOpen() does not provide a way to appendFilter 
var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(Components.interfaces.nsIFilePicker);
// initial directory use Macros folder as defined in iMacros Preferences
fp.displayDirectory = imns.Pref.getFilePref('defsavepath');//DataSources=defdatapath
fp.init(window, "Select a File", Components.interfaces.nsIFilePicker.modeOpen);
fp.appendFilter("CSV File (*.csv)", "*.csv");
var sourcefile;
if(fp.show() == 0){
    sourcefile = fp.file.path;
}