it-swarm.com.de

Kann ich das Druckdatum oder das Speicherdatum in Google Documents drucken?

Ich habe ein Textverarbeitungsdokument erstellt, das von vielen Personen verwendet wird (ein Stylesheet für Autoren) und das auch regelmäßig aktualisiert wird. Ich vermute das haben wohl einige, die das Dokument als Referenz ausdrucken. Ist es in Google Documents möglich, Feldfunktionen in die Fußzeile einzufügen, die das Druckdatum oder das Speicherdatum angeben? Wenn nicht, könnten wir das Dokument vielleicht "[Dokumenttitel] Version [x]" nennen und diesen Ausdruck in der Fußzeile haben?

8
neilfein

Leider scheint dies momentan nicht möglich zu sein. Google Text & Tabellen unterstützt die Felder, die von Office automatisch aktualisiert werden, nicht.

Hier ist ein Support-Thread , in dem Sie diese Funktion anfordern können - ich habe auch eine Antwort darauf gepostet.

3
Jarrod Dixon

Ja, es ist möglich. Unter Verwendung der vorhandenen API ist dies jedoch nicht wirklich möglich. Wirklich ist das Fehlen von Feldern und die damit verbundenen Funktionen wie in Word eine große Behinderung für die Automatisierung von Dokumenten.

So etwas fügt eine Fußzeile in das geöffnete und wieder geöffnete Dokument ein, ist aber letztendlich keine gute Lösung.

function onOpen() {
    var time = new Date();
    time = Utilities.formatDate(time, "GMT", "yyyy-MM-dd'T'HH:mm:ss'Z'");
    var doc = DocumentApp.getActiveDocument();
    var s;

    if (!doc.getFooter()) {
        var footer = doc.addFooter();
        var footerText = footer.appendParagrap(time);
    } else {
        var footer = doc.getFooter();
        var footerElements = footer.getNumChildren();
        var para = footer.getParagraphs();
        s = para[footerElements-1].getText();
        var footerText = footer.replaceText(s , time);
    }
};

BEARBEITEN: So fügen Sie das Skript hinzu.

Dieser Code, wie ich ihn oben vorgestellt habe, sollte eigentlich in einer eigenen Funktion sein, die von der OnOpen () -Funktion aufgerufen wird, und nicht in der Wholesale-Funktion, aber alles gut für Beispielzwecke.

Wenn Sie das Extras-Menü eines geöffneten Dokuments aufrufen und den Skript-Manager aufrufen, prüfen Sie beim Laden, ob es derzeit leer ist. Wenn dort Datensätze vorhanden sind, können Sie den Code selbst platzieren.

Schließen Sie den Skript-Manager, kehren Sie zum Menü Extras zurück und wählen Sie Skript-Editor. Wenn Sie jetzt nichts in Ihrem Skript-Manager hatten, wählen Sie den gesamten Code aus und löschen Sie ihn. Sie können dann den oben angegebenen Code einfügen und speichern.

Schließen Sie das Dokument und öffnen Sie es erneut. In der Fußzeile befindet sich nun ein Datum für die Uhrzeit. Es sollte bei jedem Öffnen des Dokuments aktualisiert werden, nichts Besonderes, aber es wird Sie zum Laufen bringen.

Nun zu denjenigen von Ihnen, denen Code bereits mit Ihrem Dokument verknüpft ist. Das Hinzufügen des obigen Codes abzüglich der ersten und letzten Zeile in die Funktion onOpen () funktioniert ebenfalls, ist jedoch möglicherweise nicht darauf zurückzuführen, dass bereits vorhandener Code in Konflikt steht.

Hoffe, das bringt dich zum Laufen.

3
jCisco

Dies ist eine Erweiterung der Antwort von jCisco und eine Set-and-Forget-Lösung, die in Google Docs gut funktioniert und für Blätter usw. optimiert werden kann.

  1. Fügen Sie dies in die Fußzeile Ihres Dokuments ein:

    Unkontrolliert beim Drucken/Speichern: 2016-09-03 14:05. PDF aktualisieren: goo.gl/xXXxxx

    Dieser goo.gl-Link ist eine Kurzversion des Freigabe-Links "Jeder kann sehen" Ihres Dokuments, aber ersetzen Sie /edit?usp=sharing am Ende des Links durch /export?format=pdf (oder /export/pdf, wenn es sich um ein Blatt handelt ). Nehmen Sie dann Ihren bearbeiteten Freigabelink auf goo.gl , um ihn zu verkürzen.

  2. Öffnen Sie den Skript-Editor Ihres Dokuments (Extras> Skript-Editor ...) und fügen Sie den folgenden Code hinzu. Sie müssen den Editor innerhalb des Dokuments öffnen, damit Sie ein Skript erhalten, das an das Dokument gebunden ist , anstatt ein separates Skript, das abgerufen wird in Ihrem Google Drive gespeichert.

Code:

function DocControl() {
  var time = new Date();
  time = Utilities.formatDate(time, "GMT+10:00", "yyyy-MM-dd' 'HH:mm");
  var doc = DocumentApp.getActiveDocument();
  var bod = doc.getBody();
  var fol = bod.getParent();

  // Define a custom paragraph style.
  var style = {};
  style[DocumentApp.Attribute.FONT_FAMILY] = 'Proxima Nova';
  style[DocumentApp.Attribute.FONT_SIZE] = 8;
  style[DocumentApp.Attribute.ITALIC] = true;

  for (i = 0; i<fol.getNumChildren(); i++){
    var child = fol.getChild(i);
    if (child.getType() == DocumentApp.ElementType.FOOTER_SECTION) {
      var footerText = child.asFooterSection().replaceText("Uncontrolled when Printed\/Saved: (.*). Refresh pdf: ", "Uncontrolled when Printed\/Saved: " + time + ". Refresh pdf: ");
      footerText.setAttributes(style);
    }
  }
}

Möglicherweise möchten Sie die Zeitzone (meine ist AEST) und den Absatzstil entsprechend Ihren Anforderungen bearbeiten.

  1. Fügen Sie einen zeitgesteuerten Trigger hinzu (Ressourcen> Trigger des aktuellen Projekts). Stellen Sie ein, dass "DocControl" jede Minute ausgeführt wird. Benachrichtigungen auf wöchentlich einstellen.

Die Zeit in der Fußzeile wird jetzt jede Minute aktualisiert. Das Dokument muss nicht geöffnet oder online usw. sein, da die Server von Google die gesamte Arbeit erledigen.

Sie können jedoch davon ausgehen, dass Sie von Google eine wöchentliche E-Mail erhalten, in der die Ausführung des Skripts gelegentlich fehlschlägt. Für mich war dies jedoch nur ~ 1% der Zeit und es wird in der nächsten Minute erneut ausgeführt, sodass es insgesamt keine Rolle spielt.

0
ajlowndes