我有一個簡單的發票系統,我唯一的問題是我不知道如何將多個腳本組合成一個。我想要的是,當我按下創建發票以制作列印表的副本并相應地重命名時(發票編號 客戶名稱,假設 B12 單元格包含客戶名稱和 G12 發票編號,因此表名稱將是“詹姆斯邦德 007") 之后,該表將移動到表的末尾。到目前為止,我使用這些腳本來實作復制并移動到最后
function Dupewithvaluesonly() {
const range = SpreadsheetApp.getActiveSpreadsheet().duplicateActiveSheet().getDataRange();
range.copyTo(range, {formatOnly: true}); // Added
range.copyTo(range, {contentsOnly: true});
}
function MovetoEnd() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.moveActiveSheet(ss.getNumSheets());
}
uj5u.com熱心網友回復:
我相信你的目標如下。
- 您想要復制活動作業表并使用活動作業表的單元格“B12”和“G12”中的值設定作業表名稱。
- 而且,想要將單元格值轉換為靜態值。
- 你想通過合并你的 2 個函式來實作這一點。
在這種情況下,如何進行以下修改?
修改后的腳本:
function myFunction() {
// Copy the active sheet.
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.duplicateActiveSheet();
// Retrieve the values from cells "B12" and "G12". And set the sheet name.
const [b12, , , , , g12] = sheet.getRange("B12:G12").getValues()[0];
sheet.setName(`${g12} ${b12}`);
// Convert values to static values.
const range = sheet.getDataRange();
range.copyTo(range, { formatOnly: true }); // This is from your script.
range.copyTo(range, { contentsOnly: true }); // This is from your script.
// Move the copied sheet to the last tab.
ss.moveActiveSheet(ss.getNumSheets()); // This is from your script.
}
筆記:
如果您想使用特定作業表而不是活動作業表,請將上述腳本修改如下。
從
const sheet = ss.duplicateActiveSheet();至
const sheet = ss.getSheetByName("Sheet1").copyTo(ss).activate(); // Please set the sheet name to "Sheet1".
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/531118.html
標籤:谷歌应用脚本谷歌表格
上一篇:回圈兩個變數以創建多個年份列
