2017-03-23 3 views
0

In meinem Apps-Skript muss ich das gleiche Format des (gestrigen) Datums in mehreren verschiedenen Funktionen verwenden. Also entschied ich mich, meine eigene benutzerdefinierte makedate() Funktion zu machen, um dieses Datum zuverlässig zu erstellen, wenn ich es brauchte. Das Problem ist jedoch, dass es undefined anstelle meines Datums zurückgibt. Hier ist meine aktuelle Funktion:Google Apps Script: Die benutzerdefinierte Funktion gibt den erwarteten Wert nicht zurück.

In der Protokolldatei sehe ich, dass das Datum im gewünschten Format erstellt wird. Wenn ich dann jedoch eine andere Funktion zum Testen des Rückgabewerts ausführen, zeigt die Protokolldatei Made date: ohne Datum, und andere Verwendungen zeigen, dass der Wert nicht definiert ist. Was mache ich falsch?

Antwort

0

Ich erkannte, dass das Problem irgendwie mit variablen Bereichen zu tun hatte, denke ich tatsächlich. Ich habe dies verwendet, um Code für ein anderes Skript innerhalb des Projekts zu testen, ohne zu erkennen, dass die Funktionen in den Skripten alle miteinander verbunden sind. Nachdem ich sichergestellt hatte, dass es nur eine Instanz jeder Funktion/global gab, lösten sich die Probleme. Dummer Fehler, ich weiß, aber es ist gut zu wissen, dass Anfänger Google Apps Scripts lernen, daher dachte ich, dass es sich lohnt, als Antwort zu posten.

+0

Es ist gut, eine eigene Antwort zu schreiben, anstatt eine Frage unbeantwortet zu lassen. Und es ist gut zu versuchen, eine Antwort für andere zu geben, die nach einer Antwort auf das gleiche Problem suchen. Es ist jedoch oft sehr schwierig, wenn nicht unmöglich, eine relevante Frage zu finden, es sei denn, der Titel ist deskriptiv, und die Person sucht mit denselben Suchbegriffen. Ich habe es oft sehr schwer, Posts zu finden, von denen ich weiß, dass sie existieren, und ich weiß, was das Thema ist. Sie sollten das Google-Tabellendokument zu Ihrer ursprünglichen Frage hinzufügen. –

+0

Sicher, wenn Sie glauben, dass es Leuten hilft, die Google Tabellen verwenden. Ich persönlich war nicht, aber das ist gut zu beachten. Danke für den Tipp –

0

Ihr Problem ist, dass der Rückgabewert für benutzerdefinierte Funktionen nicht von anderen Parametern als den Eingabeparametern abhängig sein muss. In Ihrem Fall haben Sie keine, also wird das erste Ergebnis zwischengespeichert und für weitere Aufrufe mit denselben Parametern (keine) verwendet.

zu beheben, müssen Sie das Datum als Parameter übergeben.

Verwandte Themen