2017-03-17 131 views
0

我有一个代码来从csv文件导入数据到iMacros,我现在触及的部分是iMacros正在打印excel行的值,我希望它以colulmn明智的方式打印。我得到这个错误,虽然我已经使用在iMacros的的{keyword !Col1}}imacros从excel中读取

VERSION BUILD=10.4.28.1074 
'Uses a Windows script to submit several datasets to a website, e. g. for filling an online database 
' Specify input file (if !COL variables are used, IIM automatically assume a CSV format of the input file 
'CSV = Comma Separated Values in each line of the filE 
TAB T=1 
SET !DATASOURCE C:\Users\Arun\Desktop\Book2.csv 
'Start at line 2 to skip the header in the file 
SET !LOOP 1 
'Increase the current position in the file with each loop 
SET !DATASOURCE_LINE {{!LOOP}} 
' Fill web form 
URL GOTO=https://docs.google.com/forms/d/e/1FAIpQLSdDj_Rrydyd1ukk56tOL92LAu-jE9qfi1GwsAUTT1gviZNG7w/viewform?c=0&w=1 
TAG POS=1 TYPE=INPUT:EMAIL FORM=ID:mG61Hd ATTR=NAME:emailAddress CONTENT={{!COL1}} 
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:mG61Hd ATTR=NAME:entry.2005620554 CONTENT={{!COL2}} 
TAG POS=1 TYPE=INPUT:EMAIL FORM=ID:mG61Hd ATTR=NAME:entry.1045781291 CONTENT={{!COL3}} 
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:mG61Hd ATTR=NAME:entry.1065046570 CONTENT={{!COL4}} 
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:mG61Hd ATTR=NAME:entry.1166974658 CONTENT={{!COL5}} 
TAG POS=1 TYPE=INPUT:TEXT FORM=ID:mG61Hd ATTR=NAME:entry.839337160 CONTENT={{!COL6}} 

'Note * is used to ignore leading and trailing blanks that could be in the input data 
' 
'The precent (%) symbol is used to select the stateid by VALUE as defined in the website select statement and not by its index. 

' 
'The string ($) symbol is used to select the country by TEXT, not by its index. 
'Index would be the position of an entry in the combo box list, e. g. 161 for United States 

回答

0

数据源命令加载(每个循环一个行)的总数据行明智。也许你可以重新排列你的CSV数据?

另一种解决方案是使用商业版的iMacros脚本界面创建自己的数据阅读例程。这允许您以任何您想要的格式导入数据,然后使用iimSet将其发送到iMacros:http://wiki.imacros.net/Web_Scripting#Example_using_Windows_Scripting_Host

还有另一种解决方案是使用Kantu,它有一个免费的scripting api

1

看看下面给出的可接受的解决方法之一。假设您的CSV文件不包含任何感叹号并且逗号作为数据源分隔符。

' fake delimiter 
SET !DATASOURCE_DELIMITER "!" 
' real delimiter 
SET rd "," 

SET !DATASOURCE Address.csv 

SET !DATASOURCE_LINE 2 
SET row2 EVAL("'{{!COL1}}'.split('{{rd}}')[{{!LOOP}}-1];") 
SET !DATASOURCE_LINE 3 
SET row3 EVAL("'{{!COL1}}'.split('{{rd}}')[{{!LOOP}}-1];") 
SET !DATASOURCE_LINE 4 
SET row4 EVAL("'{{!COL1}}'.split('{{rd}}')[{{!LOOP}}-1];") 
' ... 

PROMPT {{row2}}<BR>{{row3}}<BR>{{row4}} 

在循环模式下播放此宏。它必须在Firefox或Chrome的'iMacros add-on'中运行。我认为我的建议应该可以帮到你。

+0

令人惊异的解决方法;-) – Tienkamp

+0

@Tienkamp,绝对不是Sudharshaun别墅:) – Shugar