0

私のスクリプトでは、メインドライブにテンプレートドキュメントがありますが、コピーが作成されてExcelデータが入力されたら、ドライブ内のフォルダーに保存する必要があります。スクリプトにそれを実行させますが、ファイルの1つのコピーがメインのGoogleドライブにあり、もう1つのコピーが必要なフォルダーにあります。コピーの1つを削除すると、両方が削除されます。

メインドライブフォルダにいなくても、指定したフォルダに自動的に保存する方法はありますか?

4

1 に答える 1

3

Googleドライブのフォルダは、コンピュータのフォルダとまったく同じではありません。ファイルが「ルート」フォルダにあり、別のフォルダにあるということは、ファイルが2つあるという意味ではなく、ラベルが2つしかないファイルが1つしかないということです。もう一方を削除せずに一方を削除することはできません!

解決策は、スクリプトでこれらのラベルを操作することです。これがどのように機能するかを示します:(明確にするために各ステップにコメントしました。)

function othertest(){
folder=DocsList.createFolder("MyFolder"); // or getFolderById or whatever other way to get your target folder
var file=DocsList.createFile('File2', 'Empty');// just an empty file for test but this would be your file copy that you want to "move"
file.addToFolder(folder);// put it in the folder
file.removeFromFolder(DocsList.getRootFolder());// and remove from the root
}

createFile他の可能な解決策は、フォルダーオブジェクトがメソッドをサポートしているため、ターゲットフォルダーに直接ファイルを作成することです。(特定のユースケースでそれを実行できるかどうかはわかりませんが)

これが例です。ファイルがルートフォルダにないことがわかります。

function createFileinFoldertest() {
   var folder = DocsList.getFolder('test')
   folder.createFile('Empty test fileName','nothing in there')
}
于 2013-02-08T17:42:31.657 に答える