Как мне работать с выбранным диапазоном? - PullRequest
0 голосов
/ 02 апреля 2019

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

function rowdown(input)
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getActiveRange().copyTo(..., spreadsheetApp.CopyPasteType.PASTE_NO_BORDERS)

Как мне использовать 'input', чтобы сделать назначение вставки?

Я хочу знать, как правильно работать с выбранными диапазонами.

1 Ответ

0 голосов
/ 02 апреля 2019

Этот набор функций создаст диалоговое окно ввода и позволит вам вводить данные в ячейку по вашему выбору на активном листе через немодальное диалоговое окно.Это также позволит вам продолжить ввод данных в следующую ячейку ниже той, которую вы выбрали в первый раз.

function getMyInput() {
  var html='<style>input[type=button]{margin:5px;}#pnxt,#cls{display:none;}</style><br />Give Me Some Input: <input type="text" id="txt1" /><br />Select a cell to put it into and then click Paste Button:<br /><input type="button" value="Paste" onClick="pasteItDude();" /><br /><input id="pnxt" type="button" value="Paste Into Next Cell Below" onClick="pasteNext();" />';
  html+='<br /><input id="cls" type="button" value="Close" onClick="google.script.host.close();" />';
  html+='<script>function pasteItDude(){var val=document.getElementById(\"txt1\").value;google.script.run.withSuccessHandler(function(){document.getElementById(\"pnxt\").style.display=\"inline\";document.getElementById(\"cls\").style.display=\"inline\";}).pasteItMan(val);}';
  html+='function pasteNext(){var val=document.getElementById(\"txt1\").value;google.script.run.pasteNext(val);}console.log(\"My Code\");</script>';
  var userInterface=HtmlService.createHtmlOutput(html);
  SpreadsheetApp.getUi().showModelessDialog(userInterface, 'Give me some data.');
}

function pasteItMan(txt) {
  var ss=SpreadsheetApp.getActive();
  ss.getActiveCell().setValue(txt);
  return;
}

function pasteNext(txt) {
  var ss=SpreadsheetApp.getActive();
  ss.getActiveCell().offset(1,0).activate();
  ss.getActiveCell().setValue(txt);
  return;
}

Это не самый простой способ создания диалога, но он универсален.Для получения дополнительной информации вот несколько ссылок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...