Добавление текста в документ с помощью флажков и кнопок? - PullRequest
0 голосов
/ 21 декабря 2018

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

<link href="https://ssl.gstatic.com/docs/script/css/add-ons.css"      rel="stylesheet">
<div class="sidebar">
     <div class="elements">
        <input type="checkbox" id="myCheck1">Check Box 1<br>
        <input type="checkbox" id="myCheck2">Check Box 2<br><br>
        <button class="blue" id="process" onclick="myFunction()">Print</button><br><br>
    <p id="text1" style="display:none">Checkbox1 is CHECKED!</p>
    <p id="text2" style="display:none">Checkbox2 is CHECKED!</p>
    </div>
</div>
<script>
function myFunction() {
   var checkBox1 = document.getElementById("myCheck1");
   var checkBox2 = document.getElementById("myCheck2");
   var text = document.getElementById("text1");
   var text = document.getElementById("text2");
   if (checkBox1.checked == true){
      text1.style.display = "block";
      } else {
      text1.style.display = "none";
      }
   if (checkBox2.checked == true){
      text2.style.display = "block";
      } else {
      text2.style.display = "none";
      }
   }
</script>

Это HTML, который я имею для боковой панелии попробовал пример, который я нашел в Интернете, чтобы напечатать текст, но он напечатает текст на боковой панели под кнопкой, а не на документе.

function onInstall() {
  onOpen();
}
function onOpen() {

  DocumentApp.getUi()
  .createAddonMenu() // Add a new option in the Google Docs Add-ons Menu
  .addItem("KO Addon", "showSidebar")
  .addToUi();  // Run the showSidebar function when someone clicks the menu
}

function showSidebar() {
  var html = HtmlService.createTemplateFromFile("KO")
    .evaluate()
    .setTitle("KO Addon Options"); // The title shows in the sidebar
  DocumentApp.getUi().showSidebar(html);
}

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

Спасибо.

1 Ответ

0 голосов
/ 21 декабря 2018
  • Вы хотите поместить значения, полученные со стороны HTML, в Документ Google.

Если мое понимание вашего вопроса верно, как насчет этого примера?В вашем случае, когда значения стороны HTML отправляются в Google Apps Script, вы можете добиться этого с помощью google.script.run.

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

HTML сторона:

Пожалуйста, добавьте следующий сценарий кконец myFunction() на стороне HTML.

google.script.run.putValues({checkBox1: checkBox1.checked, checkBox2: checkBox2.checked});
на стороне GAS:

Добавьте следующую функцию в скрипт Google Apps.

function putValues(obj) {
  var body = DocumentApp.getActiveDocument().getBody();
  body.appendParagraph(JSON.stringify(obj));
}

Примечание:

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

Ссылки:

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

...