Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将VBA转换为Java Google脚本_Javascript_Vba_Google Apps Script - Fatal编程技术网

Javascript 将VBA转换为Java Google脚本

Javascript 将VBA转换为Java Google脚本,javascript,vba,google-apps-script,Javascript,Vba,Google Apps Script,有下面的VBA,我需要将其插入到谷歌工作表中 有人能帮忙转换吗 Sub Activate_Sheet() Sheets(Sheets("Main").Range("A1").Value).Activate End Sub 谢谢,此脚本获取sheet()[0]中单元格A1中的值,然后移动到该图纸编号 function so_53361440() { // set up spreadsheet var ss = SpreadsheetApp.getActiveSpreadshe

有下面的VBA,我需要将其插入到谷歌工作表中

有人能帮忙转换吗

Sub Activate_Sheet()
    Sheets(Sheets("Main").Range("A1").Value).Activate
End Sub

谢谢,

此脚本获取sheet()[0]中单元格A1中的值,然后移动到该图纸编号

function so_53361440() {
  // set up spreadsheet
    var ss = SpreadsheetApp.getActiveSpreadsheet();

    // set sheet 0 as the active sheet
  var sheet = ss.getSheets()[0];

    // get the value in cell A1
  var cell = sheet.getRange("A1").getValue();
  // Logger.log("value of cell = "+cell);// DEBUG

    // Convert number to string
  var sheetname = ""+ cell;
  // Logger.log("sheetname = "+sheetname);// DEBUG

    // set sheet by name and move to new sheet
    var mysheet = ss.getSheetByName(sheetname);
    ss.setActiveSheet(mysheet);
}
主题变化
对于300张工作表,返回工作表()[0]会让人沮丧。因此,这个小的变化旨在创建一个自定义菜单,该菜单将请求输入框中的图纸编号。代码的其余部分是相同的

function so_53361440_01() {
    // setup ui
  var ui = SpreadsheetApp.getUi(); 

  var result = ui.prompt(
      'What sheet do you want?',
      'Please enter a number:',
      ui.ButtonSet.OK_CANCEL);

  // Process the user's response.
  var button = result.getSelectedButton();
  var text = result.getResponseText();
  if (button == ui.Button.OK) {
    // User clicked "OK".
    //ui.alert('Sheet is ' + text + '.');
  } else if (button == ui.Button.CANCEL) {
    // User clicked "Cancel".
    ui.alert('Operation Cancelled.');
  } else if (button == ui.Button.CLOSE) {
    // User clicked X in the title bar.
    ui.alert('Input Box closed - no action taken.');
  }

    // set up spreadsheet
  var ss = SpreadsheetApp.getActiveSpreadsheet();

    // assign the UI value to a variable
  var cell = text;
  // Logger.log("value of cell = "+cell);//DEBUG

    // convert the variable to a string
  var sheetname = ""+ cell;
  // Logger.log("sheetname = "+sheetname);// DEBUG

    // set the sheetname to the variable and goto that sheet
    var mysheet = ss.getSheetByName(sheetname);
    ss.setActiveSheet(mysheet);

}

function onOpen() {
 SpreadsheetApp.getUi() 
      .createMenu('Change Sheet')
      .addItem('Pick a sheet', 'so_53361440_01')
      .addToUi();
}

您可能希望添加谷歌应用程序脚本标签,并显示您进行了哪些研究。我们在这里帮助您解决您编写的代码所遇到的问题。有帮助资源可为发布提供指导,我认为它的要点是:
var spread=SpreadsheetApp.getActiveSpreadsheet(),然后
var sheetName=spread.getSheetByName('Main').getRange('A1').getValue(),然后是
spread.setActiveSheet(sheetName)。但未测试。/**@OnlyCurrentDoc*/function UntitledMacro(){var spreadsheet=SpreadsheetApp.getActive();spreadsheet.getRange('H12').activate();};SpreadsheetApp.getActiveSpreadsheet()var sheetName=SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Main').getRange('A1').getValue();SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);当我尝试运行它时,它会显示未定义引用错误A1。此脚本的目的是,当我在A1中输入工作表编号并按下分配给此脚本的按钮时,它将直接将我带到请求的工作表。我拥有的文件包含300张工作表,这就像是一个文件系统,我需要的是能够插入一张纸的编号,只需按下一个按钮,并自动重定向到它你的问题,包括所有的评论在这里。