【问题标题】:How can I pass a variable from imacros to a javascript?如何将变量从 imacros 传递给 javascript?
【发布时间】:2016-02-12 15:15:18
【问题描述】:

我需要将来自 imacros 的值与 javascript 值相乘。 我可以将 javascript 值传递给 imacros,但 imacros 无法将其相乘。 另外,我没有找到任何解决方案,如何从 imacros 中提取变量并将其传递给 javascript。

var macro, iret;
var JsNumber = 5;

function macro1()

{
   iimSet("VAR1", JsNumber);
   macro = "CODE:";
   macro += "VERSION BUILD=8961227 RECORDER=FX\n";
   macro += "CMDLINE !DATASOURCE c:\\database.csv\n";
   macro += "SET !DATASOURCE_LINE 1\n";
   macro += "SET !VAR2 {{!COL1}}\n";
   macro += "SET !VAR3 EVAL(VAR1 * VAR2)\n";
   macro += "PROMPT {{!VAR3}} !VAR4\n";
   iret = iimPlay(macro)
}

{
   macro1();
}

【问题讨论】:

  • 显示您尝试过的minimal reproducible example,然后描述您遇到问题的地方。
  • 我已经用代码更新了原始问题。我的问题在于 EVAL 行,因为如果我添加更多引号,imacros 不会喜欢它。想要的是:将 VAR1 与 VAR2 相乘。

标签: javascript variables eval imacros


【解决方案1】:
var macro, iret;
var JsNumber = 5;


var theReturn=macro1(JsNumber);


function macro1(JsNumber)

{
   iimSet("VAR1", JsNumber);
   macro = "CODE:";
   macro += "VERSION BUILD=8961227 RECORDER=FX\n";
   macro += "CMDLINE !DATASOURCE c:\\database.csv\n";
   macro += "SET !DATASOURCE_LINE 1\n";
   macro += "SET !VAR2 {{!COL1}}\n";
   macro += "SET !VAR3 EVAL(VAR1 * VAR2)\n";
   macro += "SET !EXTRACT {{!VAR3}}\n";
   macro += "PROMPT {{!VAR3}} !VAR4\n";
   iret = iimPlay(macro)

   var ret=iimGetLastExtract();

return ret;

}

试试这个……

【讨论】:

    【解决方案2】:

    解决办法是:iimGetExtract() 这可以提供一个从 imacros 脚本到 javascript 的变量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-07
      • 2015-04-03
      • 2015-10-30
      • 1970-01-01
      • 1970-01-01
      • 2020-01-11
      相关资源
      最近更新 更多