谷歌应用程序脚本+;谷歌工作表-从单元格中获取URL(链接到单独的工作表),并从链接的工作表中拉入工作表选项卡
我已经为此工作/研究了几天,但需要添加一个自动化元素,我当前的脚本不适合最终目标 我需要:谷歌应用程序脚本+;谷歌工作表-从单元格中获取URL(链接到单独的工作表),并从链接的工作表中拉入工作表选项卡,url,google-apps-script,google-sheets,hyperlink,Url,Google Apps Script,Google Sheets,Hyperlink,我已经为此工作/研究了几天,但需要添加一个自动化元素,我当前的脚本不适合最终目标 我需要: 从我的主“生成器”工作表上的单元格中获取URL 该URL指向一个完全独立的Google页面 我需要从外部链接的Google工作表中获取一个特定的命名工作表选项卡,并将其作为一个新的工作表选项卡带到我的主文档中 带有URL的源单元格可能会替换为新链接,因此需要自动化。我不希望有多个带有硬编码的工作表ID或URL的脚本 URL链接可能会更改,但每个外部工作表都有一个同名的选项卡,因此保持一致 似乎如果我将
- 从我的主“生成器”工作表上的单元格中获取URL
- 该URL指向一个完全独立的Google页面
- 我需要从外部链接的Google工作表中获取一个特定的命名工作表选项卡,并将其作为一个新的工作表选项卡带到我的主文档中
- 带有URL的源单元格可能会替换为新链接,因此需要自动化。我不希望有多个带有硬编码的工作表ID或URL的脚本
- URL链接可能会更改,但每个外部工作表都有一个同名的选项卡,因此保持一致
var SPREADSHEET_URL_REFERENCE_SOURCE_SHEET = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Calc Generator");
var SPREADSHEET_URL_REFERENCE_SOURCE_RANGE = SPREADSHEET_URL_REFERENCE_SOURCE_SHEET.getRange("B28");
var SPREADSHEET_URL_VALUE = SPREADSHEET_URL_REFERENCE_SOURCE_RANGE.getValues();
之后,我的脚本无法再获取URL。任何帮助都将不胜感激,我在这一点上有点雪盲 更改此行:
var SPREADSHEET_URL_VALUE = SPREADSHEET_URL_REFERENCE_SOURCE_RANGE.getValues();
对此
var SPREADSHEET_URL_VALUE = SPREADSHEET_URL_REFERENCE_SOURCE_RANGE.getValue();
换言之,移除末端的s。如果不这样做,那么所需的值将变成
电子表格\u URL\u值[0][0]
,即使它只是一个单元格,它仍然是一个二维数组。我想我已经解决了这个问题。它将从您自己的特定工作表上的单元格中获取外部工作表的URL,并将外部工作表拉入到您的工作表中,并为其创建一个新的选项卡副本
正如Cooper所说,设置getValue很有帮助,但是我可以使用openByURL并指向我的链接变量来获取它,这允许获取特定的外部工作表选项卡
谢谢你的帮助
function copySheettest()
{
//
var SPREADSHEET_URL_REFERENCE_SOURCE_SHEET = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("[MASTER] Calc Generator");
var SPREADSHEET_URL_REFERENCE_SOURCE_RANGE = SPREADSHEET_URL_REFERENCE_SOURCE_SHEET.getRange("B28");
var SPREADSHEET_URL_VALUE = SPREADSHEET_URL_REFERENCE_SOURCE_RANGE.getValue();
Logger.log(SPREADSHEET_URL_REFERENCE_SOURCE_RANGE);
var sourceSheet = SpreadsheetApp.openByUrl(SPREADSHEET_URL_VALUE);
var source_sheet = sourceSheet.getSheetByName("Info Calculations");
var target = SpreadsheetApp.getActiveSpreadsheet();
var target_sheet = target.getSheetByName("target_sheet");
var source_range = source_sheet.getRange("A1:AA69");
var target_range = target_sheet.getRange("A1:AA69");
//
var values = source_range.getValues();
var bGcolors = source_range.getBackgrounds();
var colors = source_range.getFontColors();
var fontSizes = source_range.getFontSizes();
// make use of autocomplete to find other methods...
target_range.setValues(values);
target_range.setBackgrounds(bGcolors);
target_range.setFontColors(colors);
target_range.setFontSizes(fontSizes);
}
我能问一下你的问题吗?1.我无法理解
之后,我的脚本无法再获取URL。
。你能解释一下细节吗?2.如果之后我的脚本无法再抓取URL。
是您的问题,您想解决它,那么我需要做什么:
?我们是否需要准备脚本来实现我需要的所有内容:?嗨!否:我已准备好脚本的其余部分,将URL作为变量解析只是一个问题。:)谢谢,我试过了,但是当我从链接的工作表中抓取一个特定的工作表选项卡时,我得到了一个错误:“在对象中找不到函数getSheetByName”,基于:var sourceSheet=SPREADSHEET\u URL\u VALUE;var source_sheet=sourceSheet.getSheetByName(“信息计算”);我假设getSheetByName仅用于电子表格应用程序。如果您愿意,可以使用getValues(),但这一行var sourceSheet=SpreadsheetApp.openByUrl(电子表格\u URL\u值)代码>需要如下var sourceSheet=SpreadsheetApp.openByUrl(电子表格URL值[0][0])代码>