1

自動生成されたスプレッドシートを自動的に整理するための小さなスクリプトを作成しています。目標は、スプレッドシートを名前に基づいてディレクトリにアーカイブすることです(すべてのスプレッドシートは同じ名前で始まりますが、整理に使用しているパターンで終わります)。私が抱えている問題は、次の関数にあります。

lstFile = DocsList.find('type:spreadsheet title:"PROG_GRAL_CENTRE"');

この関数には、ドキュメントで指定されているクエリオプションがありませんが、別のスクリプトで使用しており、正常に機能しています。私も入れてみました:

lstFile = DocsList.find('PROG_GRAL_CENTRE');

200のドキュメントが見つかるはずですが、何も見つかりません。実際、Googleドライブの検索ボックスにPROG_GRAL_CENTREと入力すると、すべてのドキュメントが検索されるため、検索フィルターの何が問題になっているのかわかりません。

何かご意見は?

4

1 に答える 1

0

メソッド find(query) は、ファイル名だけでなく、ファイルの内容で文字列を検索します...それでも正常に機能しました(つまり、あなたが言及した問題なしで)、それがあなたの使用に適した解決策になるかどうかはわかりません一部のファイル名が別の名前の別のドキュメント内で見つかるリスクがあるためです(たとえば、参照として...)。

配列内のすべてのファイル名を取得して、代わりにこの配列を検索してみませんか? これは非常に簡単に行うことができ、問題に洗練された解決策をもたらすでしょう。

私は現在、これとまったく同じタイプのスクリプトに取り組んでいます ;-) ここに私のファイルを取得する部分があります (興味がある場合は、単なる例です):

var doclist=DocsList.getRootFolder().getFilesByType("document",0,2000);
var names = new Array();
  for (nn=0;nn<doclist.length;++nn){
    if(doclist[nn].getName().match("IMPRESSION_")=="IMPRESSION_"){
  names.push([doclist[nn].getName(),doclist[nn].getId()]);
  }
  }

その後、配列を好きなように並べ替え、結果をリスト UI に表示します。

于 2012-06-12T16:05:28.240 に答える