google-apps-script - 如何从应用程序脚本更改工作表方向
问题描述
我正在从应用程序脚本创建一个新工作表,并且我希望该工作表的方向是从右到左(整个工作表而不是单元格本身)。有没有办法从应用程序脚本代码中做到这一点?
解决方案
我相信你的目标如下。
- 您想使用 Google Apps 脚本将工作表方向更改为“从右到左”。
为此,这个答案怎么样?在这个答案中,我想提出 2 种模式。
模式一:
在此模式中,使用了电子表格服务。
示例脚本:
function myFunction() {
const ss = SpreadsheetApp.getActiveSpreadsheet(); // Please set the sheet name.
ss.getSheetByName("Sheet1").setRightToLeft(true);
}
- 在这种情况下,活动电子表格中“Sheet1”的工作表方向更改为
rightToLeft
。 - 使用时
setRightToLeft(false)
,“从右到左”变为“从左到右”。 如果要为活动电子表格中的所有工作表更改它,还可以使用以下脚本。
function myFunction() { const ss = SpreadsheetApp.getActiveSpreadsheet(); ss.getSheets().forEach(s => s.setRightToLeft(true)); }
模式二:
在此模式中,使用了 Sheets API。
示例脚本:
在使用此脚本之前,请在 Advanced Google services 中启用 Sheets API。
function myFunction() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName("Sheet1"); // Please set the sheet name.
const resource = {requests: [{
updateSheetProperties: {
properties: {sheetId: sheet.getSheetId(), rightToLeft: true},
fields: "rightToLeft"
}
}]};
Sheets.Spreadsheets.batchUpdate(resource, ss.getId());
}
- 在这种情况下,活动电子表格中“Sheet1”的工作表方向更改为
rightToLeft
。 如果要为活动电子表格中的所有工作表更改它,还可以使用以下脚本。
function myFunction() { const ss = SpreadsheetApp.getActiveSpreadsheet(); const reqs = ss.getSheets().map(s => ({ updateSheetProperties: { properties: {sheetId: s.getSheetId(), rightToLeft: true}, fields: "rightToLeft" } })); const resource = {requests: [reqs]}; Sheets.Spreadsheets.batchUpdate(resource, ss.getId()); }
笔记:
当您要检查纸张方向是否为“从右到左”时,您可以使用 进行检查
isRightToLeft()
。Ref例如,当您要检查“Sheet1”时,可以使用以下脚本。返回时true
,纸张方向为“从右到左”。const check = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").isRightToLeft(); console.log(check)
当您想为 Google 电子表格中的大量表格更改此设置时,使用表格 API 时,可能会降低流程成本。
参考:
推荐阅读
- android - Gradle:DSL 元素“useProguard”已过时,将很快被删除
- ios - 使用 CoreBluetooth CBL2CAPChannel 移动数据
- java - 如何单击具有输入类型和值的按钮?
- jquery - 如何使用jQuery ajax 重新加载用户不知道的页面是正在重新加载的页面?
- html - CSS样式表第一次没有链接到HTML web-dev
- android - 使用改造(pdf,ppt,png,jpg)“code = 500,内部服务器错误”上传文件有什么问题
- android - 如何绑定具有多个 IN 值的 SQL 语句?
- android - 如何使用导航视图
- c# - Net Core:用于数据检查的私有成员和数据注释之间的区别
- razorpay - 如何通过razorpay api取消特定用户(最终用户)的订阅