IT仕事

GoogleSpreadSheet上の注文番号をキーにGASでGmailのスレッドにラベルを付加

投稿日:2021年10月6日 更新日:

Gmailにあるメールから、スプレッドシートに記入してある注文番号と、注文入力時につけられた注文ラベルをもとに、スレッドを検索して、検索結果に対して新たなラベル付けをしたかった。

参考Webをもとに、作ったGASが、以下。

[code]
function AddOrderLAbel() {
//スプレッドシートを取得し
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
//スプレッドシート内のシートを取得します。 ex)シート名「注文番号」
var sheet = spreadsheet.getSheetByName(“注文番号”);
//シート内の値を取得するにはgetRange(x,y).getValue()を使います
var value = sheet.getRange(2,1,sheet.getLastRow() – 1).getValues();

var strTerms = ‘label:A注文 subject:{‘ + value.join(” “) + ‘}’; // Gmailでの検索キーワード
//console.log(strTerms);
var myThreads = GmailApp.search(strTerms);

// スレッドを一つずつ取り出す
myThreads.forEach(function(thread) {
// スレッド内のメール一覧を取得
var messages = thread.getMessages();
// メールを一つずつ取り出す
messages.forEach(function(message) {
// スレッドにラベルを付ける
var label = GmailApp.getUserLabelByName(‘2.Pere’); // 既存のラベルでないと失敗するので注意
thread.addLabel(label);
});
});
}
[/code]

参考web: 
Google Apps Scriptとラベルで実現する管理業務のすゝめ | キャスレーコンサルティング株式会社
【GAS】Gメールのラベル機能まとめ【サンプルソース付】 | 快 ブログ

Googleスプレッドシートはこんなイメージ。

で、ここまで作って、テストしてうまく動いたので、後はタイマーで定期的に実行させればいいかなっ・・・と思ったのだが、タイミング悪く、もっといい方法に気が付いてしまった。

よく考えると、以下のようなスプレッドシートに作っておいて、文字の入ったセルを範囲選択してコピーし、Gmailの検索ボックスにペーストしたら、アナログ作業ながら検索までは、できる。


で、結果をもとに、好きなラベルをつけたり、不要なラベル削除したり、としたほうが良いのではないか。
プログラム化・システム化せずに、現場でマニュアルコントロールが可能なようにしておいた方が、今回はよいだろう。

なので、残念ながら、せっかく作ったコードはお蔵入りになりそう。

-IT仕事

執筆者:

関連記事

no image

小矢部のお客さんからナスとキュウリをもらった。

嬉しい。 最近、なにかと地元の野菜をもらうことがなぜか多い。 なによりすごく嬉しい。 新鮮だし安全だしおいしいから。 関連投稿: 迷惑メール PhotoshopElementsでWebデザイナーが作っ …

no image

LimeSurvey2.00+(131009) インストールでトラブル

たまたま使っていたLimeSurveyの管理画面右上に、 「利用可能なアップデート: 2.00+(131009) または 2.05RC2(131011)」 とあったので、 「しばらくアップデートしてい …

no image

同じセルに数字があるファイルを開いて別のファイルにどんどん転記しては閉じていく×1000件・・・をExcelマクロで作る

昨日は、アンケートの下仕事をやった。 各ファイルの同じセルに数字の記入があって、それを開いて別のファイルにどんどん転記しては閉じていく・・・というのをExcelマクロで作るのだが。 最初は手作業でコピ …

no image

AptanaStudio1.0日本語化

AptanaStudio1.0をちょっと触っている。 日本語化をする方法がWebに少なかったので覚書。 http://mergedoc.sourceforge.jp/の「Pleiades 本体」の最新 …

no image

joomla

仕事でjoomla(CMS)を使おうと画策中。 最初はとっつきにくいと思ったが、アレコレ触ってみるとすごくいい。 しかしWebの情報はMTやXOOPSに比較して少ない。 (日本語情報が、だけど) 作る …