Google apps script 从除谷歌工作表主菜单外的所有工作表中删除3列
我没有编程方面的背景,但我正试图在Google Sheets上编写一个脚本,删除工作簿中除“主菜单”之外的前3列。我有61个标签,所以我不想单独删除它们。下面是我通过谷歌搜索得到的结果。我一直看到错误“找不到方法deleteColumns()”。任何帮助都将不胜感激Google apps script 从除谷歌工作表主菜单外的所有工作表中删除3列,google-apps-script,google-sheets,google-apps-script-editor,Google Apps Script,Google Sheets,Google Apps Script Editor,我没有编程方面的背景,但我正试图在Google Sheets上编写一个脚本,删除工作簿中除“主菜单”之外的前3列。我有61个标签,所以我不想单独删除它们。下面是我通过谷歌搜索得到的结果。我一直看到错误“找不到方法deleteColumns()”。任何帮助都将不胜感激 function QuickDelete() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sss = ss.getSheets(); for (i = 0
function QuickDelete() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sss = ss.getSheets();
for (i = 0; i < sheets.length; i++) {
switch(sss[i].getSheetName()) {
case "Main Menu":
break;
default:
ss.deleteColumns(sss[i]);
}
}
}
函数QuickDelete(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sss=ss.getSheets();
对于(i=0;i
我发现有两个问题需要解决
工作表
。但是您应该在sss
上循环deleteColumns()
应用于工作表,即sss[i]
sss[i].deleteColumns(columnPosition,howmount)
函数QuickDelete(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sss=ss.getSheets();
var columnPosition=1;//从第一列删除
var howMany=3;//删除3列
对于(i=0;i
祝您一切顺利。- 在
循环中,您使用的是以前未定义的for
工作表。您必须将
更改为sss
,或者在代码中的任何地方更改sheets
- 您必须提供两个参数,即要删除的
第一列的位置和要删除的
列数。在您的案例中,分别为
和1
3
function QuickDelete() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ss.getSheets();
for (i = 0; i < sheets.length; i++) {
if (sheets[i].getSheetName() !== "Main Menu") {
sheets[i].deleteColumns(1, 3)
}
}
}
函数QuickDelete(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheets=ss.getSheets();
对于(i=0;i
另外,如果有许多值
,则开关
语句也很有意义,您必须用它检查表达式
。在您的情况下,我最好使用if
检查工作表的名称是否为主菜单
- 参考:
我尝试了你的方法和ADW的方法,两种方法都有效!还有,我想知道这个!==符号的意思是?@FatinNabilah检查。此外,请考虑接受一个答案,提供了解决您的问题,因为这个社区依赖于这一点,以分享知识给其他用户。
function QuickDelete() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ss.getSheets();
for (i = 0; i < sheets.length; i++) {
if (sheets[i].getSheetName() !== "Main Menu") {
sheets[i].deleteColumns(1, 3)
}
}
}