問題
google apps script(GAS)で結合されている幅を取得させようとしているのですが、
リストに格納される順番が変わってしまっています。
以下ではとりあえず取得されている順番を調べてみました。
何が原因か教えてください。。。
該当のソースコード
function myn() { var ss1 = SpreadsheetApp.openById("1JQ28-281sytemtJAs5q8Blo8-P3UVhiJlW25B62SCSU"); var r_sheet=ss1.getSheetByName('2日目'); var m_cell=r_sheet.getRange(162,1,1,47).getMergedRanges(); for(var i=0;i<m_cell.length;i++){ var m_cell_num=m_cell[i].getA1Notation(); Logger.log(m_cell_num); } }
出力されたもの
7:05:25 情報 V162:Y162 7:05:25 情報 Z162:AA162 7:05:25 情報 AB162:AC162 7:05:25 情報 AD162:AG162 7:05:25 情報 L162:M162 7:05:25 情報 N162:S162 7:05:25 情報 T162:U162
自分の環境で試してみたところ恐らく結合した順に配列になっている感じがします。
なるほど、ありがとうございます!!
ちなみにスプレッドシートの順番に結合しているセルの幅を取得する方法はありますか??
順番が保証される、されないのどちらの資料も見つけることはできていませんが
順番の保証というものはないのではないでしょうか
知らなかったけど、ためしてみたら マージした(日時)順に取得されましたね。
どこにそんな情報を保持しているのやら。
諦めて取得後に列番号でSORTした方が早そうな気がします。
sawa様
> マージした(日時)順に取得されましたね。
私もそうだと思ったんです。最初はその通りだったんです。
でもその後に結合セル範囲を追加していくと、順番がばらばらになったのです。
法則性が全く分かりませんでした。。。。
あら、そう簡単にはいかないんですね。失礼しました。
法則性がないのは気持ち悪いですね・・・。
回答1件
あなたの回答
tips
プレビュー
