執行範例檔之前,並先至 跨工作表查詢-匯入2個外部檔 / 工作簿KEY工作表 修正成你的副本Key(副本的KEY會跟作者的KEY不一樣)
script內容如下:
//宣告全域變數,讓其他自建函數也能取用該值 var keys var thisbookkey var values function onOpen() { //目前新版的試算表不提供於表格內圖案指定指令碼,所以用了選單功能 var sheet = SpreadsheetApp.getActiveSpreadsheet(); var entries = [{ name : "各地區彙總", functionName : "getOtherWorkbook" }]; sheet.addMenu("銷售報表", entries); }; function getOtherWorkbook(){ getKey();//取得自建函數getKey()的 keys值 // keys值要運用在迴圈,取得每個工作簿的內容 var targetlastrow=1 for (var i=0;i<keys.length;i++){ var ss =SpreadsheetApp.openById(keys[i]);//指定工作簿 SpreadsheetApp.setActiveSpreadsheet(ss);//指定工作表 var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("工作表1"); var lastrow=sheet.getLastRow();//用getLastColumn()會出錯,無所謂,因為一般資料庫表單欄位不會讓查詢使用者動 if(i==0){ values= sheet.getSheetValues(1, 1, lastrow, 3);//假設各地區銷售工作表的欄位數是固定的,這裡的範例是3欄 }else{ values= sheet.getSheetValues(2, 1, lastrow, 3);//第一個工作簿以後,不需要再取出欄位名稱 } //Logger.log(values.length); copy2TargetWorkbook(); } } function copy2TargetWorkbook(){ //COPY至目的工作簿表格 var ss = SpreadsheetApp.openById("1PSCFJ-XohhHnV2uiunYjljeFMgSSRPlHH5qHXuzDWr4"); SpreadsheetApp.setActiveSpreadsheet(ss); var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("銷售紀錄彙總表"); var lastrow=sheet.getLastRow(); lastrow++;// //Logger.log(values); var cell=sheet.getRange(lastrow, 1, values.length, values[0].length);//指定目的儲存格範圍 cell.setValues(values);//要讓 資料自動展開,不可用cell.setValue(values),不然不會分解值,會全部放在第一個儲存格 //Logger.log(sheet.getLastRow());//由 檢視 / 記錄 查看執行的結果 } function getKey(){ thisbookkey=SpreadsheetApp.getActiveSpreadsheet().getId();//取得主工作簿的key var ss = SpreadsheetApp.openById(thisbookkey); SpreadsheetApp.setActiveSpreadsheet(ss); var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("銷售紀錄彙總表"); //先清空 銷售紀錄彙總表 的資料內容 sheet.clearContents(); //工作簿KEY工作表內有放各工作簿的Key值,取出各工作簿的KEY值 var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("工作簿KEY"); var lastrow=sheet.getLastRow(); keys =sheet.getSheetValues(2, 2, lastrow-1, 1); //Logger.log(thisbookkey); }
請問使用openbyid或openbyurl都出現"您沒有執行該動作的權限"的話
回覆刪除是需要設定什麼或需要變更什麼嗎?
請問你有拷貝到你的雲端硬碟來執行嗎?
刪除你不能直接用我的檔案來執行喔,我只開放"檢視"的權限
PS:近來很少上來維護,所以至今才回覆,先跟你說聲抱歉了
Kama Kama Online Casino, Poker and Casino Games
回覆刪除Kama is a leading provider of quality online gaming. Enjoy our games and receive a 온카지노 사이트 Welcome Bonus and Free Spins. Play today!