2014-09-20 132 views
0

我想运行一个iMacro以节省大量网页(论坛上的线程)。我在VBA中工作过,但无法运行iMacro。将变量从javascript传递到iMacros

我现在试过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本身(不错误消息 - 什么都没有发生)。我知道我可能在混合和改编我的编码语言。

+0

发现流氓“&”符号。对不起 - 还在想着VBA。现在改变了他们。 – shycoder 2014-09-21 11:13:53

回答

0
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文件中,看它能否正常工作。