VBA到谷歌文档应用程序脚本



我一般用VBA编程,但我的公司正在转向用google docs来取代Excel。我的问题源于对象和集合。在VBA中,我能够创建一个类模块并创建一个对象。看起来我不能在Apps Script中这样做。此外,在VBA中,我简单地声明一个集合内的子如dim Col作为新的集合。然而,我似乎不能在我的应用程序脚本得到正确的。下面是我当前的代码。我试图循环通过行项目,保存行项目作为一个对象,并将该对象存储在一个集合与一个键。任何帮助都太好了!现在当我编译下面的代码时,它说collection()是未定义的。

    function Create_Collection(){
  var DFws = SpreadsheetApp.getActive().getSheetByName('Data Feed')
  var KPws = SpreadsheetApp.getActive().getSheetByName('KP')
  var DF_lastrow
  var KP_lastrow
  var CycleDate
  var DF_Date
  var i
  var Ingcol = new Collection();
  CycleDate = KPws.getRange(1,2).getValue();  //Sets which cycle ingredients need to be collected
  DF_lastrow = DFws.getLastRow();
  for (i = 2; i<= DF_lastrow; i++){
    DF_Date = DFws.getRange(i,1).getValue();
    if(DF_Date.toString() == CycleDate){
      var IngObj = { } // empty object
      IngObj.KitchenID = DFws.getRange(i,22).getValue();   // Added property KitchenID
      IngObj.Recipe = DFws.getRange(i,3).getValue();   // Added property Recipe
      IngObj.Name = DFws.getRange(i,4).getValue();   // Added property Name
      Ingcol.add (IngObj.KitchenID,IngObj)
      }

}

您没有在任何地方定义集合。
JavaScript不是基于类的,而是基于原型的,所以我认为你不需要做你想做的事情。

像这样初始化Incol

var Incol = {}

并添加如下对象:

Ingcol[IngObj.KitchenID] = IngObj;

相关内容

  • 没有找到相关文章

最新更新