google-apps-script - 从电子表格 B 访问电子表格 A
问题描述
假设我们有电子表格 B 的所有者,他想通过 Apps 脚本从电子表格 A 中提取数据。
如果 B 所有者没有对电子表格 A 的 VIEW/EDIT 访问权限,是否可以将数据从电子表格 A 提取到 B 中。所以目标是 B 可以通过 Apps 脚本从 A 提取数据,但无法访问A直接用链接。
function syncDown1(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheetActive=ss.getActiveSheet();
var masterSpreadsheet = SpreadsheetApp.openById("ID");
var masterSheet = masterSpreadsheet.getSheetByName("Referral Clients");
var lastRowMaster = masterSheet.getLastRow();
var lastRowPersonal = sheetActive.getLastRow();
sheetActive.getRange(4,1,lastRowPersonal,14).clear();
var agentName = sheetActive.getRange(1,2).getValue();
if (agentName == "") {
Browser.msgBox("You have to enter agent's name in cell B2");
return;
}
var agentArray = masterSheet.getRange(1,2,lastRowMaster,1).getValues();
Logger.log(agentArray);
//personal sheet iterator
var j = 4;
for (var i=1; i<=agentArray.length; i++) {
if (agentArray[i] == agentName) {
//column A master
sheetActive.getRange(j,1,1,1).setValues(masterSheet.getRange(i+1,1,1,1).getValues());
//column G master
sheetActive.getRange(j,2,1,1).setValues(masterSheet.getRange(i+1,7,1,1).getValues());
//column C, D, E, F master
sheetActive.getRange(j,3,1,4).setValues(masterSheet.getRange(i+1,3,1,4).getValues());
//column I master
sheetActive.getRange(j,7,1,1).setValues(masterSheet.getRange(i+1,9,1,1).getValues());
//column K, L, M, N, O master
sheetActive.getRange(j,8,1,5).setValues(masterSheet.getRange(i+1,11,1,5).getValues());
j = j + 1;
}
}
}
解决方案
推荐阅读
- regex - 从正则表达式查询中删除字符
- android-studio-3.0 - 如何读取导出内存分析器 - android studio 3.2.1
- laravel - 使用 Vue 更新页面上的数据而不刷新?
- robotframework - 机器人框架,chrome新标签问题
- google-sheets - 在谷歌表格查询中选择一个月的第一天
- docker - PhpStorm 是否在后台运行自己的 Docker 容器?
- android - 更改 SMS 限制 - 无法应用 adb 设置
- ios - 无法在 iOS 上使用 Facebook 登录(SDK 无法构建身份验证 URL)
- javascript - 存储其值的开始/停止按钮
- mysql - UNION 语句中的 MySQL Order By