C'è un modo per inserire la data odierna in un documento Google?


75

Ho guardato sotto inserire> ...? ma non sono riuscito a trovare nulla.

Questo può essere fatto tramite una funzione integrata o uno script personalizzato?


11
Sono scioccato dal fatto che Google Documenti non abbia già questa funzione. Sembra una delle cose più elementari che i moderni elaboratori di testi dovrebbero avere.
LS

Se ne hai bisogno per spreadshetts paste = TODAY () nella cella. Conosco domande su Google Documenti. Ma prima su google se google per i fogli di calcolo.
Fortran,

"= OGGI ()" funziona alla grande
Jackssn,

=TODAY()non funziona per la registrazione, poiché si aggiornerà alla data corrente ogni volta che viene aperta la pagina. La maggior parte delle volte voglio registrare la data odierna e non aggiornarla. Se è necessario inserire la data odierna per un file di registro, è necessario qualcos'altro.
Efesto,

Risposte:


66

È possibile inserire la data odierna attraverso una macro.

Apri il tuo documento Google e in Strumenti seleziona Script editor . Questo apre l'editor di script di Google dove è possibile creare macro per Google Documents.

Incolla questo script e salvalo come Date Macro o qualcosa del genere: (disponibile anche qui )

/**
 * 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.');
  }
}

Ora aggiorna o riapri il documento e viene visualizzata una nuova voce di menu: Utilità . Sotto questo menu appare una voce chiamata Inserisci data . Fare clic per inserire la data odierna nella posizione del cursore.

Per modificare il formato della data è necessario modificare il "formato" utilizzato nello script. Il formato può contenere i seguenti caratteri:yyyy-MM-dd'T'HH:mm:ss'Z'

Per chiarire, questo script inserisce semplicemente la data odierna nella posizione del cursore per il giorno in cui si esegue l'utilità. Non è esattamente lo stesso della funzione = today () in Fogli Google, che aggiorna la data alla data corrente ogni volta che apri il foglio di calcolo. Tuttavia, questo script ti farà risparmiare la difficoltà di cercare la data e di digitarla il giorno in cui esegui lo script.


1
Questo è ora disponibile in Strumenti> Script Editor ...
Mir

2
L'impostazione predefinita è "GMT". Se guardi la riga che contiene: Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd");è possibile cambiare GMT in un fuso orario di scelta.
Thomas Wiersema,

1
Ho creato una funzione simile per SpreadsheetApp (per inserire la data nella cella attiva). Puoi trovarlo qui: gist.github.com/Eccenux/712ae3d7913e971e46035546b2ccc85b
Nux

1
Ora ... c'è un modo per forzare automaticamente l'inserimento di uno script in tutti i documenti creati in un'organizzazione?
Michael,

1
Esiste un modo per rendere questo script "globale" in modo che per ogni documento Google che creo o apro, lo script sia presente e accessibile?
Taptronic il

1

Se sei disposto a utilizzare un programma di terze parti, utilizzo Dash - http://kapeli.com/dash - con uno snippet di data e ora. Sostituisce automaticamente lo snippet (il mio è "datetime") con la data e l'ora correnti. Questo funziona a livello di sistema.

Dash è disponibile solo per OS X e iOS.


1
Dash non sembra funzionare con Google Documents.
Rubén,

@ Rubén - Ho appena controllato. Funziona benissimo. Devi digitare il tuo collegamento. Ad esempio ho @@ per la mia email. Una volta digitato, Dash lo sostituisce con il testo.
Joshua Dance,

Google Documents non è elencato nella pagina collegata nella tua risposta, d'altra parte, sembra che Dash sia disponibile solo per OS X e iOS. Sai se è disponibile per altri sistemi operativi?
Rubén,

1
@ Rubén: l'elenco contiene i documenti dell'API di programmazione caricati in Dash. Dash funziona ovunque funzioni di immissione testo. E ci sono programmi simili di completamento automatico disponibili per altri sistemi operativi.
Joshua Dance,

0

Ecco la mia versione modificata per uscire con una testata.

Stampa la data corrente come '14, agosto 2015 'nel fuso orario "GMT + 2" con il carattere "Cambria" nella dimensione 11.

Vedi di seguito:

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.');
  }
}

0

Dimentica le macro. Basta collegarsi a una cella in Fogli Google !

  1. Vai a Fogli Google .
  2. Crea un nuovo foglio di lavoro Fogli Google e chiamalo come "Oggi".
  3. In una cella in quel foglio di calcolo, digitare quanto segue: = OGGI ()
  4. Seleziona quella cella insieme a una cella adiacente (che la rende una tabella e non solo un testo). Copia le celle selezionate (usando "Modifica" -> "Copia" o una scorciatoia da tastiera).
  5. Apri un documento Google o una presentazione Google e incolla la tabella dove desideri che appaia la data del giorno corrente.

Ecco!


4
Grazie @geekzspot - hai citato "cell", quindi presumo che tu stia parlando di un foglio di calcolo di Google Drive, sai se esiste un modo per farlo in un documento Word di Google Drive?
sam,

Sì, questo è per fogli di calcolo. L'ho chiarito. Siamo spiacenti, non funziona in un documento
geekzspot,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.