質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
Google Analytics

Google AnalyticsはGoogleが開発した無料のウェブ分析のソリューションです。複数のクライアント側のAPIとデータをエクスポートし管理するREST APIも格納されています。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

解決済

1回答

9356閲覧

【GAS】スプレッドシートの内容(書式含)をメールで送信したい

elelboo

総合スコア28

Google Analytics

Google AnalyticsはGoogleが開発した無料のウェブ分析のソリューションです。複数のクライアント側のAPIとデータをエクスポートし管理するREST APIも格納されています。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

4クリップ

投稿2015/09/27 08:37

###前提・実現したいこと
GoogleスプレッドシートでGoogle Analyticsアドオンを使用して、PVデータ等を取得し、
取得したデータを別シート上で表にまとめ、管理しています。

普段はスプレッドシートを開き、Gmailにコピペしてメール送信しているのですが、
作業効率を図るために自動化できないかなと考えています。

値のみを送信することは出来たのですが、書式(罫線やセルの結合など)を維持
したままメール送信することができません。(添付ではなく、メール本文内で)

1セルずつ値を取得し、getFontColors()等を利用する方法しか思いつかず煮詰まっています。

良い方法があればご教示のほど宜しくお願いいたします。

###ソースコード(抜粋)

javascript

1var MAIL_ADDRESS = "hoge@example.com"; 2 3function myFunction() { 4 var ss = SpreadsheetApp.openById(SpreadsheetApp.getActiveSpreadsheet().getId()); 5 var sheet = ss.getSheetByName("日次レポート"); // シートの名前 6 7 // シートの範囲を指定 8 var range = sheet.getRange("a2:p57"); 9 10 //指定範囲の値を取得 11 var message = range.getValues(); 12 13 var d = Utilities.formatDate( new Date(), 'JST', 'yyyy/M/d'); 14 15 GmailApp.sendEmail(MAIL_ADDRESS, "PV推移表〜"+d, "body", {htmlBody : message}); 16} 17

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

もう解決したかもしれませんが、JavascriptでDOMを生成すればできると思います。

サンプル
function report() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getSheetByName("xxx集計");
var data = sh.getRange(4,1,11,3).getValues(); //範囲は適当
var body = "";
body += "<table border='1'>";
for (var i=0; i<=5; i++) {
body += "<tr bgcolor='yellow'>";
for (var j=0; j<=2; j++) {
body += "<td>"+data[i][j]+"</td>"
}
body += "</tr>";
}
body += "</table>";
MailApp.sendEmail({
to : "xxx.xxx@gmail.com",
subject : "集計",
htmlBody : body
});
}

投稿2016/02/08 10:00

true

総合スコア440

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

elelboo

2016/02/11 06:05

ありがとうございます。結合しているセルがうまく処理できなかったので結局、手動コピペで運用しています。結合状態が取得できればよかったのですが・・・ ありがとうがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問