あなたは、この特定の問題に対処することができます:私はセルにフラグを設定することを考えたが、もちろんのこと、初めてだけ 作品、また手動コピーとして
をフラグをコピーします。
PropertiesServiceを使用すると、ドキュメントプロパティを使用して特定のドキュメントにプロパティを追加できます。このプロパティは、その特定のドキュメントの任意のユーザーが実行するスクリプトによってアクセスできます。
ただし、ドキュメントをコピーすると、プロパティはコピーされません。 onOpen中にこのプロパティを検索して、ドキュメントが必要な方法でコピーされたかどうかを判断できます。
あなたはこのような何か行うことができます。
function setProp(){ //use this to set the property to the document
var docProp = PropertiesService.getDocumentProperties();
docProp.setProperty("Copied", "false") //Properties are stored as text immaterially of the type of value you pass to it!
}
function getProp(){ //use this to check if the property of the document was set, if set will return true, else false
var docProp = PropertiesService.getDocumentProperties();
Logger.log(docProp.getProperty("Copied"))
return docProp.getProperty("Copied") == "false"
}
function onOpen(e){
var ui = SpreadsheetApp.getUi()
if(getProp()){ // Check to see if the property was set for the sheet.
ui.alert("Copied correctly")
} else { // This will trigger each time they open the sheet,
ui.alert("Copied Incorrectly, please use custom function to make a copy")
}
}
希望に役立ちます!
ドキュメントIDが「正当な」コピーに保存されているものと同じように実装されましたが、この回答では何かが十分であると言います。 Googleがコピーを変更して将来的にドキュメントのプロパティを含めるようにした場合、ドキュメントごとの固有の解決策などが必要になります。 – Jonathon