有冇巴打熟 Google Script
觀察員A 2019-4-20 13:06:02 本身有用開 spreadsheet,
我想做個 function 鍵做表格, 
範圍係由 A3:J3, 我知道選取範圍係打 Spreadsheet.getRange(A3:J3).active()

但呢個動作有時係會換行, 因為 A1:J3 已經用咗嘛
咁下次我會由 A5:J8, 總括就係每次個範圍都唔同,
但起始就定咗係 A 同 J 之間

條 code 應該點寫 
:^(
:^(

有冇巴打幫手教教
:^(
:^(

Ads

Outliers 2019-4-20 13:22:34 你喺Sheet開多一格計住應該由邊一個row開始
觀察員A 2019-4-20 13:37:32 我都有試過
var current = getLastrow();

但我唔識點寫令佢去到 J 個格
觀察員A 2019-4-23 12:15:29 pish
KanouKyosuke 2019-4-23 14:52:53 選取範圍用呢個會唔會好d
Spreadsheet.getRange(row, column, numRows, numColumns)
row係你第幾行開始 column係你第幾欄開始
numRows/numColumns就分別係幾多行/欄

因為你一定由A開始
所以column=1
去都J姐喺十個column
所以numColumns=10

至於行我唔係好明你點計
不過就應該可以用
var current = getLastrow();
再加加減減搵返row/numRows

詳情可以睇google出嘅documentation
https://developers.google.com/apps-script/reference/spreadsheet/sheet#getrangerow-column-numrows-numcolumns
觀察員A 2019-4-23 16:03:33 google 個網我成日都睇, 但係唔係太睇得明
:^(

巴打你個段我都有睇過
:^(
麻煩哂先
科大第一人 2019-4-23 16:30:36 你個starting point係base on d 咩去決定先?如果由頭到尾既話你咪getRange(1,1, getLastRow(), 10) 去get曬A-J column
觀察員A 2019-4-23 16:54:26 無錯呀巴打難 我就係想 get 曬 A-J 格,
再做下步動作, 但係選取呢度已經唔識寫落去
:^(

巴打個句 getRange(1,1, getLastRow(), 10)
我寫過....

var Range = spreadsheetApp.getActiveSheet().getRange(1,1, getLastRow,10);


spreadsheet = spreadsheet.getRange(1,1, getLastRow,10);

都出咗 getLastRow is not defind
巴打可唔可以請教吓應該點寫呢句
:^(
KanouKyosuke 2019-4-23 17:00:33 getLastRow係sheet嘅function嚟
所以
1. 後面要加開閂括號
2. 要邊張sheet嘅再.

簡單d講係
var Range = spreadsheetApp.getActiveSheet().getRange(1,1, spreadsheetApp.getActiveSheet().getLastRow(),10);
KanouKyosuke 2019-4-23 17:02:31 不如你講下你究竟想做乜
咁樣唧牙膏好難幫到你
科大第一人 2019-4-23 17:08:01 正解
:^(
我手機打貪方便先冇寫前面call speadsheet service個part
:^(


建議用個var裝返個getlastrow 個 Integer再call getrange for better readability

Ads

觀察員A 2019-4-23 17:11:52 其實我暫時只係想做一個動作掣, 個動作步驟如下
1. 選取 A 至 J (有時係選取一直行, 有時係兩行 或 三行)
2. 填滿晒格仔線

暫時就係咁樣, 但由於每次都唔同行數開始呢個動作, 面開始一定會係由 A 格開始, 至 J 個格

巴打想問吓你係邊度可以學到 Google script
:^(
:^(


我睇過 google 既教學, 但係都係模糊不清,
好多動作我都係用佢個 Marco record 完再自己抄寫返 code 落去用, 但好似以上我講個種不定行既起始我就真係諗唔到點寫
KanouKyosuke 2019-4-23 17:13:40 學google script其實係要學javascript先
:^(
KanouKyosuke 2019-4-23 17:14:52 不過你幾多行係點決定
觀察員A 2019-4-23 17:22:07 我諗住起好咗一行既稿, 會做一個掣係 for create 一行,
跟住二行又會做個掣, 如此類推, 因為我呢個功能其實係同我地做 packing list 有關, 所以每次個行數都會唔同, 主要係方便每次起個稿唔駛次次都要自己畫格仔
觀察員A 2019-4-23 17:29:53 原來係真架
:^(
重諗住 google script 有自己既一套
可以專注學呢個範疇
魚柳包走冰 2019-4-23 17:57:41
:^(
觀察員A 2019-4-23 18:14:12
:^(
Outliers 2019-4-23 18:47:43 樓主識唔識用for loop?
觀察員A 2019-4-23 22:52:55 唔識
:^(
Outliers 2019-4-23 23:22:34 我幫你寫咗出嚟。
function main() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var CurrentSheet = spreadsheet.getSheets()[0];
  
  var StartRow = 2
  var EndRow = 10
  var StartColumn = 1
  var EndColumn = 10  
  var range = CurrentSheet.getRange(StartRow, StartColumn, EndRow-StartRow+1, EndColumn-StartColumn+1);
  
  range.setBorder(true, true, true, true, true, true, '#000000', SpreadsheetApp.BorderStyle.SOLID);
  return
}

你Click紅圈位置就可以執行。
第一次執行的時候佢會問你拎permission。
:^(
你改StartRow, EndRow, StartColumn , EndColumn 就可以控制到邊行要set格線。
以上面為例,佢會將Row 2至Row 10同埋Column A至Column J的範圍set格線
:^(

Ads

Outliers 2019-4-23 23:32:21 除咗改格線之外,你仲可以改cells入面的數值
例如下面依段code可以幫範圍入面每一格填數字
function test() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var CurrentSheet = spreadsheet.getSheets()[0];
  
  var StartRow = 3
  var EndRow = 8
  var StartColumn = 2
  var EndColumn = 9 
  
  var Count = 1;
  for (var i = StartRow;i<=EndRow;i++) {
    for (var j = StartColumn;j<=EndColumn;j++) {
      var cells = CurrentSheet.getRange(i, j);
      cells.setValue(Count);
      Count += 1;
    }
  }
  return
}


:^(
觀察員A 2019-4-24 06:35:20 巴打 你做乜要咁好人
:^(
:^(

多謝你幫手呀
:^(
:^(

我會好好保存同參透你呢段 codes

巴打 你係本身識 javascript ??
自學定係邊度有課程可以上架
:^(
Outliers 2019-4-24 06:48:43 我都係自學,唔識就google咁
下面依個網幾好,你可以睇下

https://www.w3schools.com/js/default.asp
觀察員A 2019-4-24 07:55:03 萬分感謝
:^(
:^(