回答編集履歴
1
何度か検証した結果、以下のスクリプトだと、リストと合致した添付ファイルを保存できていないことがわかりました。
test
CHANGED
@@ -1,21 +1,28 @@
|
|
1
|
-
|
1
|
+
何度か検証した結果、以下のスクリプトだと、リストと合致した添付ファイルを保存できていないことがわかりました。
|
2
|
+
申し訳ございませんm(_ _)m
|
3
|
+
余計なファイルまで取得してしまいました。
|
2
4
|
|
3
5
|
**◆ファイルリストと合致する添付ファイルだけをGmailからフォルダに保存するスクリプト◆**
|
4
6
|
```ここに言語を入力
|
7
|
+
//ファイルリスト(スプシ)と合致する添付ファイルのみをGmailから取得しフォルダに保存するスクリプト
|
8
|
+
|
5
9
|
var FOLDER_ID = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx'; //ファイルを保存するフォルダIDを設定する
|
6
10
|
|
7
11
|
var ss =SpreadsheetApp.getActiveSpreadsheet();
|
8
|
-
var sht = ss.getSheetByName("
|
12
|
+
var sht = ss.getSheetByName("請求書番号"); //シート名を指定(ファイルリストのあるシート名を指定)する
|
13
|
+
|
14
|
+
// var FOLDER_ID = ss.getRange('D5').getValue(); //ファイルを保存するフォルダIDを設定する
|
9
15
|
|
10
16
|
function fetchattachment2(){
|
11
17
|
|
12
18
|
// ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
|
13
19
|
//リストのファイル名を検索条件に追加するループ
|
14
20
|
var lastRow = sht.getLastRow();//リストの最終行番号を習得
|
15
|
-
for(l
|
21
|
+
for(var l = 2; l <= lastRow; l++) {
|
16
22
|
|
23
|
+
|
17
|
-
var fname =sht.getRange(
|
24
|
+
var fname =sht.getRange(l, 1).getValue();
|
18
|
-
var SEARCH_TERM = 'subject:
|
25
|
+
var SEARCH_TERM = 'subject:xxxxxxxxx 請求書 from:(xxxxxx@xxxx.com) ' + fname ;//Gmailを検索条件を設定
|
19
26
|
var myFolder = DriveApp.getFolderById(FOLDER_ID); //フォルダを取得
|
20
27
|
var myThreads = GmailApp.search(SEARCH_TERM, 0, 150); //条件にマッチしたスレッドを検索して取得
|
21
28
|
var myMessages = GmailApp.getMessagesForThreads(myThreads); //スレッドからメールを取得し二次元配列で格納
|