7

これがサポートされている関数であると思わせるようなものはドキュメントにありませんでした。私はいくつかのシートに書き込んでいますが、すべての列を強調表示してマウスで自動サイズ変更しないと、視覚的にすべてのデータを表示することは困難です。スクリプトを実行するたびにそれを行う必要はありません。

アプリスクリプトを使用してプログラムでこれを行う方法はありますか?setColumnWidthのオプションを見ましたが、テキストが列ごとに異なる可能性がある場合に、列を設定する幅をどのように知ることができますか。

==助けてくれてありがとう。

4

5 に答える 5

5

と呼ばれる新しいメソッドがあります。autoResizeColumn(columnPosition)

var s = SpreadsheetApp.getActive().getActiveSheet();
s.autoResizeColumn(6);

6 番目の列 (別名、列 "F") のサイズを自動調整します。

このスタックオーバーフローの回答を参照して ください https://stackoverflow.com/a/29930315/8458041


複数の列を一度に行う方法もあります。autoResizeColumns(startColumn, numColumns)

var s = SpreadsheetApp.getActive().getActiveSheet();        
s.autoResizeColumns(6, 3);

列 F、G、H のサイズを自動調整します。


複数の行に対応する自動サイズ変更方法は次のとおりです。autoResizeRows(startRow, numRows)

s.autoResizeRows(6, 3);

行 6、7、および 8 のサイズを自動調整します

対応する単一行の自動サイズ変更メソッドはありません (まだ? )。1 つの行を自動サイズ設定するには、行数に 1 を指定します

s.autoResizeRows(6, 1);

行 6 のみ自動サイズ調整

于 2018-05-23T23:21:14.897 に答える
1

現在、GAS からスプレッドシートの列幅を自動サイズ変更する機能はありません。それについての問題トラッカーにトピックがあります。このトピックにスターを付けて、多くの人がこの機能を必要としていることを Google に示してください。

于 2012-09-12T07:12:03.957 に答える
-1

範囲内のセルの折り返しを無効にすると、目的の効果を得ることができます。

これが私のために働いたスニペットです:

var dataRange = sheet.getRange(1,1,data.length,headers.length);
dataRange.setValues(data);
dataRange.setWrap(false);

Google アプリのドキュメント: Range.setWrap

于 2012-11-15T19:44:55.677 に答える