我正在尝试创建一个宏,将工作表从主电子表格导出到另一个电子表格。即使我是两个电子表格的所有者,我仍然收到此错误。这是我的代码:
function exportAndRenameSheet() {
// Source spreadsheet details
var sourceSpreadsheetId = 'XXXXXXXX';
var sourceSheetName = 'XXXXXX'; // Replace with the name of the source sheet
// Target spreadsheet details
var targetSpreadsheetId = 'XXXXXXXXXXX';
var targetSheetNamePrefix = 'Exported_'; // Prefix for the new sheet name
// Open the source spreadsheet
var sourceSpreadsheet = SpreadsheetApp.openById(sourceSpreadsheetId);
// Get the source sheet
var sourceSheet = sourceSpreadsheet.getSheetByName(sourceSheetName);
if (!sourceSheet) {
Logger.log('Source sheet not found.');
return;
}
// Copy the source sheet to a temporary sheet
var tempSheet = sourceSheet.copyTo(sourceSpreadsheet);`your text`
// Get the date for renaming the sheet
var formattedDate = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), 'yyyy-MM-dd');
// Rename the temporary sheet with the desired prefix and date
tempSheet.setName(targetSheetNamePrefix + formattedDate);
// Open the target spreadsheet
var targetSpreadsheet = SpreadsheetApp.openById(targetSpreadsheetId);
// Check if the sheet with the same name already exists in the target spreadsheet
var existingSheet = targetSpreadsheet.getSheetByName(tempSheet.getName());
// If the sheet exists, delete it before copying the new sheet
if (existingSheet) {
targetSpreadsheet.deleteSheet(existingSheet);
}
// Copy the temporary sheet to the target spreadsheet
var newSheet = tempSheet.copyTo(targetSpreadsheet);
// Delete the temporary sheet from the source spreadsheet
sourceSpreadsheet.deleteSheet(tempSheet);
Logger.log('Sheet exported and renamed successfully.');
}
我已经打开了 Google App Scripts API,我已经仔细检查了两张表格的权限(即使我是所有者)。我之前运行过宏,Google 要求我授予访问权限,但这次没有要求。预先感谢!`
这会将工作表从一个电子表格导出到另一个电子表格并重命名。
function exportAndRenameSheet() {
var sss = SpreadsheetApp.openById(gobj.globals.test1id);
var tss = SpreadsheetApp.openById(gobj.globals.test2id);
var ssh = sss.getSheetByName('Sheet1');
if (!ssh) {
Logger.log('Source sheet not found.');
return;
}
var tsh = ssh.copyTo(tss);
var formattedDate = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), 'yyyy-MM-dd');
tsh.setName('Exported_' + formattedDate);
Logger.log('Sheet exported and renamed successfully.');
}