我有一个脚本,该脚本会自动打开并连接用户选择的文件。基本上,每个文件对应一个单独的制造批次。用户运行脚本,将显示一个对话框,并且用户选择了他/她想要合并的所有文件。最初,可用运行列表仅来自源文件夹中的可用文件列表。但是,默认情况下,这会根据字母数字名称对文件进行排序-无论如何都不按时间顺序排列。我决定要做的是改为从一个单独的表中填充列表,并按时间顺序输入批次ID。这没有帮助,因为字符串仍然以字母数字顺序出现。 我希望列表框保留源表的顺序,这样我就可以快速地仅抓取最新的运行,例如
if(
File Exists("M:\Data\prod_data.csv"),
Open("M:\Data\prod_data.csv"),
New Window("File Path Not Valid",
<< Modal,
V List Box(
Text Box ("File Not Found!")
)
)
);
Data Table( "prod_data" ) << Subset(
All rows,
columns( :Production ID ),
Output Table ("Batch List"),
);
Close (Data Table ("prod_data"), No Save);
////////////////////
Clear Symbols( UniqueRuns );
Summarize(UniqueRuns = by(:Name("Production ID")));
For( i = 1, i <= N Items( UniqueRuns ), i++,
UniqueRuns[i] = Regex( UniqueRuns[i], "offline_|.csv", "", GLOBALREPLACE )
New Window( "Select Runs", //creates a window from which users can select the runs they want to analyze by holding Ctrl or Shift
<<MODAL></MODAL>