【GAS】Google Apps Script 活用事例 Google DocumentにSpreadsheetの表をGASで貼り付ける方法
Photo by Digital Content Writers India on Unsplash
GoogleドキュメントのGASを使った効率化事例って、なかなか検索しても出てこないんですよねー。今回は、スプレッドシートの内容をドキュメントに貼り付ける方法を紹介していきたいと思います。
試したみたものの、労力に見合う対価がなぁ......。個人的には、そこまで使う頻度が高くないので、コピペでいいかなと思っています。← おいッ!!むしろ、Google Slidesとかの方が使用頻度が高いかもしれませんね。
実行すると、こんな感じで、スプレッドシートが貼り付けられます。
Google ドキュメントにスプシーを貼り付けるスクリプト
function onOpen () {
const ui = DocumentApp.getUi()
.createMenu('追加メニュー')
.addItem('スプレッドシートの表をドキュメントに挿入する', 'getValues')
.addToUi();
}
function getValues() {
const url = '************************';
const spreadsheet = SpreadsheetApp.openByUrl(url);
const fileName = spreadsheet.getName();
const sheet = spreadsheet.getSheetByName('シート名');
const values = sheet.getDataRange().getValues();
console.log(fileName);
console.log(values);
appendTable(values, fileName, url);
}
function appendTable(values, fileName, url) {
const document = DocumentApp.getActiveDocument();
const body = document.getBody();
const table = body.appendTable(values);
const paragraphs = body.getParagraphs();
console.log(paragraphs);
body
.appendParagraph(fileName)
.setLinkUrl(url)
.setForegroundColor('#1155cc')
.setFontSize(14);
}
普段は、Spreadsheetの自動化が多いので、スプレッドシートのメニューからツール、スクリプトエディタと進みますが、今回は、Google ドキュメントのスクリプトエディタにコードを書いていきます。
月次の集計などで、スプレッドシートのURLは都度変わるけど、シート名は固定で変わらないみたいな場合には、こちらをどうぞ
function onOpen () {
const ui = DocumentApp.getUi()
.createMenu('追加メニュー')
.addItem('スプレッドシートの表をドキュメントに挿入する', 'getValues')
.addToUi();
}
function getValues() {
const url = getUrl();
const spreadsheet = SpreadsheetApp.openByUrl(url);
const fileName = spreadsheet.getName();
const sheet = spreadsheet.getSheetByName('prisonBreak');
const values = sheet.getDataRange().getValues();
console.log(fileName);
console.log(values);
appendTable(values, fileName, url);
}
function appendTable(values, fileName, url) {
const document = DocumentApp.getActiveDocument();
const body = document.getBody();
const table = body.appendTable(values);
const paragraphs = body.getParagraphs();
console.log(paragraphs);
body
.appendParagraph(fileName)
.setLinkUrl(url)
.setForegroundColor('#1155cc')
.setFontSize(14);
}
function getUrl() {
const ui = DocumentApp.getUi();
const response = ui.prompt(
'SpreadsheetのURLを入力してください。',
'',
ui.ButtonSet.OK
);
const url = response.getResponseText()
console.log(url);
switch (response.getSelectedButton()) {
case ui.Button.OK:
console.log('%s と入力され、OKが押されました。',url);
break;
case ui.Button.CLOSE:
console.log('閉じるボタンが押されました。');
}//switch
return url
}
過去記事はこちらから
この記事が気に入ったらサポートをしてみませんか?