Ich habe ein Google-Blatt, das eine Master-Datenbank von Bestellungen ist, die von einer Anzahl von Händlern eingegeben werden. Daher muss dieses Master-Blatt einen eingeschränkten Bearbeitungszugriff haben. Ich möchte eine Reihe anderer Blätter erstellen (eine für jeden Händler), über die sie Bestellungen eingeben und über ein Skript, das in diesen Blättern abläuft, meinem Masterblatt hinzufügen. Ist das möglich? Wenn ich dies versuchte, verweigerte es ihnen den Zugriff auf das Masterblatt. Gibt es einen Weg dahin?Gibt es eine Möglichkeit, das Google Docs-Skript unter der Autorisierung des Skriptbesitzers auszuführen?
1
A
Antwort
0
Eine Arbeit, die ich für dieses Problem verwendet habe, ist ein installable trigger in einem regelmäßigen Zeitintervall zu arbeiten.
Installierbare Trigger werden vom Besitzer der Berechtigung des Triggers ausgeführt, sodass er sowohl auf die Haupttabelle als auch auf die einzelnen Händler zugreifen kann. Der Trick besteht darin, einer Funktion einen zeitgesteuerten Trigger zuzuweisen, der das Blatt jedes Händlers auf Aktualisierungen hin überprüft und dann den passenden Wechsel zur Haupttabelle vornimmt. Sie sollten sicher sein, dass der Trigger nicht zu lange zum Ausführen oder Ausführen zu häufig dauert, da Sie eine limited amount of script run time each day haben.
Etwas wie folgt aus:
function myTrigger() {
var time = new Date();
// maybe check to see if it's night or other times that dealers won't update
// that way you can return early and don't waste quota hours
var dealerSpreadsheetIds = ["id1", "id2", ...];
var dealerSheetName = "Deals";
for (var i = 0; i < dealerSpreadsheetIds.length; i++) {
var sheet = SpreadsheetApp.openById(dealerSpreadsheetIds[i]).getSheetByName(dealerSheetName);
// check Deals sheet ranges for updates
// if there is an update, update the main spreadsheet
}
}
Verwandte Themen
- 1. Gibt es eine Möglichkeit, Aggregatfunktionen in Google App Engine auszuführen?
- 2. Gibt es eine Möglichkeit, MJML in PHP auszuführen?
- 3. Gibt es eine Möglichkeit, eine Methode/Funktion in ProcessBuilder auszuführen?
- 4. Gibt es eine Möglichkeit, OpenBravo auf AppEngine auszuführen?
- 5. Gibt es eine Möglichkeit, eine Do-While auszuführen?
- 6. Gibt es eine Möglichkeit, eine umgekehrte XPath-Abfrage auszuführen?
- 7. Gibt es eine Möglichkeit, asp.net Webbrowser-Steuerelement auf Server auszuführen?
- 8. Gibt es eine Möglichkeit, 2 NSAnimation-Objekte gleichzeitig auszuführen?
- 9. Gibt es eine Möglichkeit, UWP-Anwendung mit Administratorrechten auszuführen?
- 10. Gibt es eine Möglichkeit, gems rspec im Projektstamm auszuführen?
- 11. gibt es eine Möglichkeit, ein Python-Programm mit C# auszuführen?
- 12. Gibt es eine Möglichkeit, git im schreibgeschützten Modus auszuführen?
- 13. Gibt es eine Möglichkeit, ein PHP-Skript von MySQL auszuführen?
- 14. Gibt es eine Möglichkeit, .frame.origin.y vor dem automatischen Layout auszuführen
- 15. Gibt es eine Möglichkeit, PHP auf Android auszuführen
- 16. Gibt es eine Möglichkeit, Python-Skript von einer Website auszuführen?
- 17. Gibt es eine Möglichkeit, AT-COMMAND programmgesteuert in Android auszuführen?
- 18. Gibt es eine Möglichkeit, QtWebEngine im Headless-Modus auszuführen
- 19. Gibt es eine Möglichkeit, DebugDiag Analysis über die Befehlszeile auszuführen?
- 20. Gibt es eine Möglichkeit, ein C# -Programm von jmeter auszuführen?
- 21. Gibt es eine bessere Möglichkeit, CLI-Befehle mit Node.js auszuführen?
- 22. Gibt es eine Möglichkeit, R-Code von JavaScript auszuführen?
- 23. Gibt es eine Möglichkeit, Android TV in VirtualBox auszuführen?
- 24. Gibt es eine Möglichkeit, Java in R auszuführen?
- 25. Gibt es eine Möglichkeit, zwei jQuery-Animationen gleichzeitig (richtig) auszuführen?
- 26. Gibt es eine Möglichkeit, Komponententests sequenziell mit MSTests auszuführen?
- 27. Gibt es eine Möglichkeit, FIRST() in SQL Server auszuführen?
- 28. Gibt es eine Möglichkeit, R in Excel auszuführen?
- 29. Gibt es eine Möglichkeit, Bamboo-Tests gleichzeitig auszuführen?
- 30. Gibt es eine bessere Möglichkeit, diese Abfrage auszuführen?
Eigentlich wollte ich das Gegenteil tun, was bedeutet, haben die Händler Blätter den Abzug ausführen und die Großschot aktualisieren. Trotzdem werde ich deinen Vorschlag versuchen. Wie stellen Sie die Zeit ein, zu der der Trigger ausgeführt wird? Tut mir leid, wenn ich eine sehr grundlegende Frage stelle - ich habe noch nie zuvor installierbare Trigger verwendet. – Moorley
Keine Sorge. Klicken Sie in der Skriptdatei auf Ressourcen> Auslöser für aktuelle Projekte. Es öffnet sich ein Dialog, in dem Sie auf "Neuen Trigger hinzufügen" klicken können. Eine Zeile sollte zur Triggertabelle hinzugefügt werden, in der Sie das Skript zum Ausführen und das Ereignis zum Auslösen des Skripts auswählen können. Wählen Sie "Zeitgesteuert" in der Spalte "Ereignis". Wählen Sie dann den Timer-Zeitplan und wie oft das Skript ausgeführt werden soll. –
Wenn Sie möchten, können Sie den Händlern den Eindruck geben, die Hauptdatenbank zu aktualisieren, indem Sie ein Skript ausführen, das ihre Aktualisierungen in einem ausgeblendeten Blatt speichert, auf das sie Bearbeitungszugriff haben. Dieses Blatt kann wie ein Postausgang in einem Büro wirken, wo die Sekretärin (Ihr zeitgesteuertes Skript) Zugang zu allen Bereichen hat, in die die Formulare verschoben werden müssen, aber der Mitarbeiter muss nicht unbedingt Zugang haben. –