Javascript 将VBA转换为Java Google脚本
有下面的VBA,我需要将其插入到谷歌工作表中 有人能帮忙转换吗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
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张工作表,这就像是一个文件系统,我需要的是能够插入一张纸的编号,只需按下一个按钮,并自动重定向到它你的问题,包括所有的评论在这里。