Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

Google Docsで文字入力のポップアップを出す

実際のところ

前回と同様、メニューをつくって、
その子要素をクリックするとポップアップが出てくるような例を考えます。

function myFunction() {
  //いまのドキュメントを読み込む
var doc = DocumentApp.getActiveDocument();
//bodyを変数に格納
var body = doc.getBody();

// パラグラフを挿入
body.appendParagraph("A paragraph.");
//改ページを挿入
body.appendPageBreak();
}

function onOpen(e) {
  DocumentApp.getUi()
      .createMenu('My Menu')
      .addItem('My menu item', 'myFunction')
      .addSeparator()
      .addSubMenu(DocumentApp.getUi().createMenu('My sub-menu')
          .addItem('One sub-menu item', 'popmenu'))
      .addToUi();
}

function popmenu(e) {
  var ui = DocumentApp.getUi();
  var response = ui.prompt('名前をいれてね☆', ui.ButtonSet.YES_NO);
  
  if (response.getSelectedButton() == ui.Button.YES) {
    Logger.log('あなたのなまえ、 %s と知ったよ.', response.getResponseText());
  } else if (response.getSelectedButton() == ui.Button.NO) {
    Logger.log('いいえが押されたね');
  } else {
    Logger.log('はいもいいえも押さずに逃げたね');
  }
}

ターゲットの子メニューを選ぶと、こんなポップアップがでてきます。
f:id:shuzo_kino:20180719233929p:plain

今回はなにもせず「×」で閉じてみました。
今回はログを出すだけにしたので、結果はこんな塩梅です。
実際には文中の文字変えたり、画像を差し込んだりする命令を入れることになるかと思います。
f:id:shuzo_kino:20180719233925p:plain