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