如何将用Google表格编写的脚本迁移到VBA中的MS Excel宏?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将用Google表格编写的脚本迁移到VBA中的MS Excel宏?相关的知识,希望对你有一定的参考价值。

[我在Google应用程序脚本中编写了一个脚本,用于在工作表中搜索值并根据用户输入的值更新行。它在google工作表中正常工作。但是当我将文档下载为excel文件时,我希望脚本能够甚至可以下载并转换为VBA宏,但是那是没有发生的,而且由于我没有编写VBA脚本的经验,因此是否有任何可用于将.gs转换为VBA的工具。以下是该函数是否有帮助:

function test() {
  var sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
  var sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet2');
  var spreadsheet = SpreadsheetApp.getActive();
  sheet2.getRange('B5:B7').activate();
  var idForSearch = sheet2.getRange("B5").getValue();
  var data = sheet1.getDataRange().getValues();
  var rownumber;
  for(var i = 0; i<data.length;i++){
    if(data[i][0] == idForSearch){ //[0] because column A
      Logger.log((i+1))
      rownumber= i+1;
    }
  }
  spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Sheet1'), true);  
  spreadsheet.getRange('A'+rownumber+':'+'C'+rownumber).activate();
  spreadsheet.getRange('Sheet2!B5:B7').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, true);
};

提前感谢您的帮助。

答案

请测试下一个代码。我没有要处理的数据,我只是理论上做的,没有测试...

以上是关于如何将用Google表格编写的脚本迁移到VBA中的MS Excel宏?的主要内容,如果未能解决你的问题,请参考以下文章

如何保护 Google 电子表格中的 Apps 脚本代码?

使用Javascript中的Oauth授权将Google表格API v3迁移到v4之后如何实现makeApiCall()方法

如何将 Google Application Script 项目迁移到不同的帐户?

相当于 Google Apps 脚本中的“ScreenUpdating”(相当于 VBA-GAS)

如何将数组传递到 Google 电子表格的 Google App 脚本中的查询字符串

使用 Excel DNA 将用 F# 编写的用户定义函数导入 VBA 子例程