![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
Gメールの内容をスプレッドシートへ転記したく、下記のHPを参考にしたのですがこちらの物で、さらに送信されてきたメールアドレスや件名、時間などを取得するにはどのように書き換えれば可能なのかご教授ください。
https://q-site.net/plan/efficiency/gmail2spreads …
また、名前・電話番号・メールアドレスがすべて同じセルに入ってしまい、他のセルにはundefinedと入るのですが、その解決策の『おそらくですが、取得したメール文面は、うまく分解できていない可能性がありますので、var user = res[0].split(‘
\n’); の部分を改行タグを入れるなど、アレンジしてみてください。それでもだめなら、受信している文面の行ごとに、目印(例えば「;」など)を入れて、目印で分解』がわからず・・・。
この辺も教えて頂けると助かります。
よろしくお願いします。
function getMail01(){
var objSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var objSheet = objSpreadsheet.getSheetByName("集計シート");//シート名をここに入力
var sheet = SpreadsheetApp.setActiveSheet(objSheet);
//GMAILから取得するものを指定
var start = 0;
var max = 500;
var threads = GmailApp.search('label:問い合わせ is:unread',start,max);
var row = sheet.getLastRow() + 1;//最後の行探してそれ以降に追加
for(var n in threads){
var thd = threads[n];
var msgs = thd.getMessages();
for(m in msgs){
var msg = msgs[m];
var body = msg.getBody();
var res = body.split('<br>\n<br>')
// replaceで不要な文字列を削除、splitで改行ごとにuserという変数に代入
var user = res[0].split('<br />\n');
//この部分はメール文面の前半部分になります。取りたり文字列を必要に応じて書き換えてください
sheet.getRange(row, 1).setValue(String(user[0]).replace("[MANAGE_NUMBER] : ",""));
sheet.getRange(row, 2).setValue(String(user[1]).replace("[title] : ",""));
sheet.getRange(row, 3).setValue(String(user[2]).replace("[com] : ",""));
sheet.getRange(row, 4).setValue(String(user[3]).replace("[nam] : ",""));
sheet.getRange(row, 5).setValue(String(user[4]).replace("[e_mail] : ",""));
sheet.getRange(row, 6).setValue(String(user[5]).replace("[tel] : ",""));
sheet.getRange(row, 7).setValue(String(user[6]).replace("[date] : ",""));
sheet.getRange(row, 8).setValue(String(user[7]).replace("[doui] : ",""));
sheet.getRange(row, 9).setValue(String(user[8]).replace("[cid] : ",""));
row++
}
thd.markRead();
Utilities.sleep(1000);
}
}
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
No.1再
>返信にして
間違えました>>転送でした
>ちょっと加工して貼り付け
貼り付けは表計算だよ
Subject
Date
From
To
本文
辺りを
表計算に貼るにあたり
整形処理と文字数制限の
加工をしないと
上手くないかなと思って
多分面倒になって止める羽目になりそう
(過去にやったことあるような記憶が薄くあるかも)
メーラーでフィルター掛けて
フォルダに割り振るのが良いと思うよ
各列はワンクリックでソートできるし
内容の閲覧も楽だし
モチのロンだけど返信、転送も速攻だし
IMAPにすれば
複アカ取って移動、コピーも自在だし
データベースとしての機能もそこそこ
難点は莫大な量になると重くなる
けど
それはまたその時に考えるとして。
No.2
- 回答日時:
メモ帳に本文だけコピペして保存しています。
スプレッドシートで管理したいと考えています。
送信されてきた内容によっては担当に送信することもスプレッドシートであれば可能なので・・・。
メモ帳にコピペでは・・・管理はできないですね・・・。
本文以外に送信されてきたアドレスや日時も管理したいので・・・。
回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript gasについて 1 2022/05/31 21:51
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript javascriptでテーブルに追加した項目のid追加してローカルストレージを操作したい 5 2023/01/01 15:52
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
- UNIX・Linux AWSのEC2のZabbixユーザーでawscliコマンドが実行できない状態を解決する 1 2022/12/06 22:17
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの表示形式を保ったま...
-
excelのマクロでrangeの選択が...
-
【Excel関数】商品コードと商品...
-
エクセルのセル内にかいた関数...
-
エクセル 1つのセル毎に入力...
-
EXCELで2つの数値のうち大きい...
-
エクセルで二つの数字の小さい...
-
Excelで隣のセルと同じ内容に列...
-
PowerPointで表の1つの列だけ...
-
エクセルでの複数条件下での標...
-
基準となる列を参照して、別の...
-
エクセルで時刻(8:00~20:00)...
-
Excel関数:「0」を除いた標準...
-
エクセルでオートフィルタのボ...
-
エクセルで文字が混じった数字...
-
エクセルで、2種類のデータを...
-
エクセルで最初のスペースまで...
-
エクセル 同じ値を探して隣の...
-
エクセルで、列の空欄に隣の列...
-
SUMIFとCOUNTIFを合わせたよう...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの表示形式を保ったま...
-
excelのマクロでrangeの選択が...
-
エクセル 1つのセル毎に入力...
-
Excel VBA For Each Next構文...
-
Excel VBAのComboboxのRemoveItem
-
Excel2000 VBA ダブルクリック...
-
【Excel関数】商品コードと商品...
-
EXCEL(エクセル)で0.001以下...
-
ISERROR関数
-
Gメールの内容をスプレッドシ...
-
VLOOKUPのような操作ができるマ...
-
VBA重複チェック
-
エクセルのIF関数がうまくいき...
-
VLOOKUPで行き詰まったので、教...
-
エクセルの関数を連続コピー
-
エクセルで別シートにある各々...
-
EXCEL 行内のデータを2行に分け...
-
EXCELで2つの数値のうち大きい...
-
Excelで隣のセルと同じ内容に列...
-
エクセルで二つの数字の小さい...
おすすめ情報