Как изменить настройку «Изменить размер строки» с «Подгонка под данные» на «Указать высоту строки, не правда ли, я хочу, чтобы высота этой строки составляла 21 пиксель, несмотря ни на что»? - PullRequest
0 голосов
/ 24 мая 2019

Я пробовал:

var ss = SpreadsheetApp.openById('1-hcd6JWmWZ9MrSkt2_N8PXDGz4j-my-sheet-id');
var sheet = ss.getSheetByName('test');
sheet.setRowHeight(1, 21);

Это работает, если строка пуста, что бесполезно, поскольку зачем мне иметь пустую строку на высоте не по умолчанию.

Однако, несмотря на то, что он изменяет высоту строки, если вы вручную выводите диалоговое окно «Изменить размер строк ...», оно по-прежнему имеет значение «Вписать в данные» вместо «Указать высоту строки».

Это довольно неприятно, когда сочетается с парой других фактов о Листах. Независимо от того, какие у вас настройки переноса текста, высота строки всегда будет "соответствовать данным", если вы вставите или setValue(). И, если строка уже содержит данные, даже если вы явно указали setHeight() в строке, Sheets откажется от фактического изменения высоты, вместо этого разрешение «Подгонка к данным» всегда будет иметь приоритет, если оно будет регулировать высоту строки.

Я не могу найти способ автоматизировать настройку данных строк, а также поддерживать хорошие, чистые, компактные и эффективные высоты строк, равные 21 или около того.

1 Ответ

0 голосов
/ 25 мая 2019
  • Вы хотите установить высоту строки в 21 пиксель.
  • Вы хотите установить условие высоты строки в «Указать высоту строки» вместо «Вписать в данные».
  • Вы хотите использовать Google Apps Script.

Если я правильно понимаю, как насчет использования Sheets API?В моей среде я также мог подтвердить, что при запуске сценария sheet.setRowHeight(1, 21) условие высоты строки изменяется на «Соответствие данным».Чтобы решить эту проблему, я хотел бы использовать Sheets API.Пример сценария выглядит следующим образом.

При использовании этого сценария сначала включите Sheets API в Advanced Google Services.

Пример сценария:

В этом примере сценария высота строки 1 листа test в электронной таблице 1-hcd6JWmWZ9MrSkt2_N8PXDGz4j-my-sheet-id изменяется на 21 пиксель с помощью параметра «Указать высоту строки».

var spreadsheetId = "1-hcd6JWmWZ9MrSkt2_N8PXDGz4j-my-sheet-id";
var sheetName = "test";

var ss = SpreadsheetApp.openById(spreadsheetId);
var sheetId = ss.getSheetByName(sheetName).getSheetId();
var resource = {
  "requests": [
    {
      "updateDimensionProperties": {
        "properties": {
          "pixelSize": 21
        },
        "range": {
          "dimension": "ROWS",
          "sheetId": sheetId,
          "startIndex": 0,
          "endIndex": 1
        },
        "fields": "pixelSize"
      }
    }
  ]
};
Sheets.Spreadsheets.batchUpdate(resource, spreadsheetId);

Примечание:

  • В качестве дополнительной информации, когда вы хотите использовать «Подгонка к данным», вы можете добиться этого с помощью AutoResizeDimensionsRequest spreadsheets.batchUpdate.

Ссылки:

Если я неправильно понял ваш вопрос, и это был не тот результат, которого вы хотите, прошу прощения.

...