我想运行 iMacro 来保存大量网页(论坛上的帖子)。我在 VBA 中解决了这个问题,但无法让它运行 iMacro。
我现在已经尝试过javascript。我想将一些基本参数(线程号、起始页码、要保存的页数、文件类型)传递给 iMacro,然后让它循环,直到保存所有页面。这是我到目前为止所想到的。
<script type="text/javascript">
<!--
var THRNO = prompt("Enter thread number”);
var PGST = prompt("Enter page start number”);
var PGNO = prompt("Enter number of pages to save”);
var THRNM = prompt("Enter thread name/identifier for files”);
var FLTP = prompt("Enter save file type”);
var CNTR = 1
do {
var URLN = "http://www.mysite.co.uk/my-forum/showthread.php?t=" & THRNO & "&page=" & CNTR
var FLNM = THRNM & ".html"
iimSet("URLN", URLN)
iimSet("FLTP", FLTP)
iimSet("FLNM", FLNM)
iimPlay("iMacroUniversal.iim")
CNTR = CNTR + 1
} while (CNTR < PGNO);
//-->
</script>
我的 iMacro 的代码是
URL GOTO=URLN
SAVEAS TYPE=FLTP FOLDER=D:\MyFolder FILE=FLNM
WAIT SECONDS=2
当我在 Excel 中将其编写为 VBA 代码时,它将获取所有参数并打开 iMacros 界面,但不会运行 iMacro 本身(没有错误消息 - 只是什么也没发生)。我意识到我可能正在混合和破坏我的编码语言。
最佳答案
var macro;
macro ="CODE:";
macro +="URL GOTO={{URLN}}"+"\n";
macro +="SAVEAS TYPE={{FLTP}} FOLDER=D:\MyFolder FILE={{FLNM}}"+"\n";
macro +="WAIT SECONDS=2"+"\n";
var THRNO = prompt("Enter thread number”);
var PGST = prompt("Enter page start number”);
var PGNO = prompt("Enter number of pages to save”);
var THRNM = prompt("Enter thread name/identifier for files”);
var FLTP = prompt("Enter save file type”);
var CNTR = 1
do {
var URLN = "http://www.mysite.co.uk/my-forum/showthread.php?t=" + THRNO + "&page=" + CNTR;
var FLNM = THRNM + ".html"
iimSet("URLN", URLN)
iimSet("FLTP", FLTP)
iimSet("FLNM", FLNM)
iimPlay(macro)
CNTR = CNTR + 1;
} while (CNTR < PGNO);
//-->
将其放入 .js 文件中,看看它是否有效。
关于javascript - 将变量从 javascript 传递到 iMacros,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25949578/