0

スプレッドシートを通過し、セルから値を取得し、その値をドキュメントに挿入するスクリプトがあります。コードは完全に機能しますが、ドキュメントのコピーを作成し、同じコードを実行してコード内でドキュメント ID を渡すと、次のエラーが発生することに気付きました。

指定された ID のアイテムが見つからないか、アクセスする権限がありません。

ドキュメントを公開しようとしましたが、同じエラーが発生します。興味深いことに、新しいドキュメントを作成してそのドキュメント ID を関数に渡すと、問題なく動作します。

コード:

var templateid = "1IrEbukq3cVKg9MAPT-Aanfe4XCzoc-RCJKq6sOpQKGU"; // get template file id    
var copyDoc = DocsList.getFileById(templateid).makeCopy(docName);
4

1 に答える 1

0

問題がいつ発生したか正確にはわかりませんが、copyDoc にアクセスしようとしたときだと思います。これは、(エラー メッセージに表示されているように) ID でアクセスしようとしていて、それを持っていないためです。ここに記述したコードから copyDoc はドキュメントです.getId()。これ :

var copyDoc = DocsList.getFileById(templateid).makeCopy(docName).getId();

私が正しい推測をしたことを願っています;-)

次のようにして、すべてを使用する準備が整うようにすることもできます。

  var doctemplate = DocumentApp.openById("1IrEbukq3cVKg9MAPT-Aanfe4XCzoc-RCJKq6sOpQKGU");// this can be placed outside the function as a global variable
  var docname="new name for the copy";
  var copydoc=DocsList.copy(doctemplate,docname);
  var copydocId = copydoc.getId();

編集:jwesongaコメント(thx)に続くコードのエラーを修正

于 2012-06-26T15:03:50.583 に答える