Gibt es eine Möglichkeit, das heutige Datum in Google Text & Tabellen einzufügen?

75

Ich habe unter Einfügen> nachgesehen ...? konnte aber nichts finden.

Kann dies über eine eingebaute Funktion oder ein benutzerdefiniertes Skript erfolgen?

Sam
quelle
11
Ich bin schockiert, dass Google Text & Tabellen diese Funktion noch nicht bietet. Es scheint eines der grundlegendsten Dinge zu sein, die moderne Textverarbeitungsprogramme haben sollten.
LS
Wenn Sie es für spreadshetts brauchen, fügen Sie = HEUTE () in die Zelle ein. Ich kenne Fragen zu Google-Docs. Aber zuerst in Google, wenn Google für Spreadshets.
Fortran,
"= HEUTE ()" funktioniert hervorragend
Jackssn
=TODAY()funktioniert nicht für die Protokollierung, da es bei jedem Öffnen der Seite auf das aktuelle Datum aktualisiert wird. Meistens möchte ich das heutige Datum aufzeichnen und nicht aktualisieren. Wenn Sie das heutige Datum für eine Protokolldatei einfügen müssen, benötigen Sie etwas anderes.
Hephaistos

Antworten:

66

Es ist möglich, das heutige Datum über ein Makro einzufügen.

Öffnen Sie Ihr Google-Dokument und wählen Sie unter Extras den Skript-Editor aus . Dadurch wird der Skript-Editor von Google geöffnet, in dem Makros für Google Documents erstellt werden können.

Füge dieses Skript ein und speichere es als Date Macro oder so: (auch hier erhältlich )

/**
 * The onOpen function runs automatically when the Google Docs document is
 * opened. Use it to add custom menus to Google Docs that allow the user to run
 * custom scripts. For more information, please consult the following two
 * resources.
 *
 * Extending Google Docs developer guide:
 *     https://developers.google.com/apps-script/guides/docs
 *
 * Document service reference documentation:
 *     https://developers.google.com/apps-script/reference/document/
 */
function onOpen() {
  // Add a menu with some items, some separators, and a sub-menu.
  DocumentApp.getUi().createMenu('Utilities')
      .addItem('Insert Date', 'insertAtCursor')
      .addToUi();
}

/**
 * Inserts the date at the current cursor location in boldface.
 */
function insertAtCursor() {
  var cursor = DocumentApp.getActiveDocument().getCursor();

  if (cursor) {
    // Attempt to insert text at the cursor position. If insertion returns null,
    // then the cursor's containing element doesn't allow text insertions.
    var date = Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd"); // "yyyy-MM-dd'T'HH:mm:ss'Z'"
    var element = cursor.insertText(date);
    if (element) {
      element.setBold(true);
    } else {
      DocumentApp.getUi().alert('Cannot insert text at this cursor location.');
    }
  } else {
    DocumentApp.getUi().alert('Cannot find a cursor in the document.');
  }
}

Aktualisieren Sie nun Ihr Dokument oder öffnen Sie es erneut, und ein neuer Menüpunkt wird angezeigt: Dienstprogramme . Unter diesem Menü wird ein Element mit dem Namen Datum einfügen angezeigt . Klicken Sie darauf, um das heutige Datum an Ihrer Cursorposition einzufügen.

Um das Format des Datums zu ändern, müssen Sie das im Skript verwendete „Format“ ändern. Das Format kann folgende Zeichen enthalten:yyyy-MM-dd'T'HH:mm:ss'Z'

Zur Verdeutlichung fügt dieses Skript lediglich das aktuelle Datum an der Cursorposition des Tages ein, an dem Sie das Dienstprogramm ausführen. Dies ist nicht genau dasselbe wie die Funktion = today () in Google Sheets, mit der das Datum beim Öffnen der Tabelle auf das aktuelle Datum aktualisiert wird. Dieses Skript erspart Ihnen jedoch die Mühe, das Datum nachzuschlagen und es an dem Tag einzugeben, an dem Sie das Skript ausführen.

Thomas Wiersema
quelle
1
Dies finden Sie jetzt unter Extras>
Mir
2
Der Standardwert ist "GMT". Wenn Sie sich die Zeile ansehen, die Folgendes enthält: Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd");Es ist möglich, GMT in eine Zeitzone Ihrer Wahl zu ändern.
Thomas Wiersema
1
Ich habe eine ähnliche Funktion für SpreadsheetApp erstellt (um ein Datum in eine aktive Zelle einzufügen). Sie finden es hier: gist.github.com/Eccenux/712ae3d7913e971e46035546b2ccc85b
Nux
1
Gibt es eine Möglichkeit, das automatische Einfügen eines Skripts in alle in einer Organisation erstellten Dokumente zu erzwingen?
Michael
1
Gibt es eine Möglichkeit, dieses Skript "global" zu machen, sodass es für jedes von mir erstellte oder geöffnete Google Doc verfügbar und zugänglich ist?
Taptronic
1

Wenn Sie bereit sind, ein Programm eines Drittanbieters zu verwenden, verwende ich Dash - http://kapeli.com/dash - mit einem Datums- und Zeitausschnitt. Es ersetzt automatisch Ihr Snippet (meins ist 'datetime') mit dem aktuellen Datum und der aktuellen Uhrzeit. Dies funktioniert systemweit.

Dash ist nur für OS X und iOS verfügbar.

Joshua Dance
quelle
1
Dash scheint nicht mit Google Documents zu funktionieren.
Rubén,
@ Rubén - Ich habe gerade nachgesehen. Es funktioniert super Sie müssen Ihre Verknüpfung eingeben. Zum Beispiel habe ich @@ für meine E-Mail. Sobald Sie diesen Bindestrich eingeben, wird er durch Ihren Text ersetzt.
Joshua Dance
Google Documents ist auf der verlinkten Seite in Ihrer Antwort nicht aufgeführt, andererseits sieht es so aus, als ob Dash nur für OS X und iOS verfügbar ist. Wissen Sie, ob es für andere Betriebssysteme verfügbar ist?
Rubén
1
@ Rubén - Die Liste enthält die Programmierschnittstellendokumente, die in Dash geladen werden. Dash funktioniert überall dort, wo die Texteingabe funktioniert. Und es gibt ähnliche Autovervollständigungsprogramme für andere Betriebssysteme.
Joshua Dance
0

Hier ist meine modifizierte Version für die Datierung eines Briefkopfes.

Es druckt das aktuelle Datum wie '14, August, 2015 'in der Zeitzone "GMT + 2" mit der Schrift' Cambria 'in Größe 11 aus.

Siehe folgendes:

function onOpen() {
  // Add a menu with some items, some separators, and a sub-menu.
  DocumentApp.getUi().createMenu('Utilities')
      .addItem('Insert Date', 'insertAtCursor')
      .addToUi();
}

// Inserts the date at the current cursor location.
function insertAtCursor() {

  var cursor = DocumentApp.getActiveDocument().getCursor()


  if (cursor) {
    // Attempt to insert text at the cursor position. If insertion returns null,
    // then the cursor's containing element doesn't allow text insertions.
    var dMy = Utilities.formatDate(new Date(), "GMT+2", "dd, MMMMM, yyyy"); 
    var element = cursor.insertText(dMy);
    if (element) {
     element.setFontSize(11).setFontFamily('Cambria');                       
    } else {
      DocumentApp.getUi().alert('Cannot insert text at this cursor location.');
    }
  } else {
    DocumentApp.getUi().alert('Cannot find a cursor in the document.');
  }
}
Raven Weng
quelle
0

Vergiss Makros. Verknüpfen Sie einfach eine Zelle in Google Sheets !

  1. Gehen Sie zu Google Sheets .
  2. Erstellen Sie eine neue Google Sheets-Tabelle und nennen Sie sie "Heute".
  3. Geben Sie in einer Zelle in dieser Tabelle Folgendes ein: = HEUTE ()
  4. Wählen Sie diese Zelle zusammen mit einer angrenzenden Zelle aus (wodurch es sich um eine Tabelle und nicht nur um Text handelt). Kopieren Sie die ausgewählten Zellen (über "Bearbeiten" -> "Kopieren" oder eine Tastenkombination).
  5. Öffnen Sie ein Google-Dokument oder eine Google-Diashow und fügen Sie die Tabelle an der gewünschten Stelle ein, damit das Datum des aktuellen Tages angezeigt wird.

Voila!

geekzspot
quelle
4
Danke @geekzspot - Sie erwähnen 'cell', also nehme ich an, dass Sie über eine Google Drive-Tabelle sprechen. Wissen Sie, ob es eine Möglichkeit gibt, dies in einem Google Drive-Word-Dokument zu tun?
Sam
Ja, dies gilt für Tabellenkalkulationen. Ich habe es klarer gemacht. Entschuldigung, dies funktioniert nicht in einem Dokument
Geekzspot