¿Hay alguna manera de insertar la fecha de hoy en Google Docs?

75

He buscado debajo de insertar> ...? pero no pude encontrar nada.

¿Se puede hacer esto mediante una función incorporada o un script personalizado?

sam
fuente
11
Me sorprende que Google Docs aún no tenga esta función. Parece una de las cosas más básicas que deberían tener los procesadores de texto modernos.
LS
Si lo necesita para spreadshetts pegue = TODAY () en la celda. Sé una pregunta sobre google-docs. Pero primero en google si google para hojas de cálculo.
Fortran
"= HOY ()" funciona muy bien
Jackssn
=TODAY()no funciona para iniciar sesión, ya que se actualizará a la fecha actual cada vez que se abra la página. La mayoría de las veces quiero grabar la fecha de hoy y no actualizar. Si necesita insertar la fecha de hoy para un archivo de registro, entonces necesita algo más.
Hefesto el

Respuestas:

66

Es posible insertar la fecha de hoy a través de una macro.

Abra su Documento de Google y en Herramientas seleccione Editor de secuencias de comandos . Esto abre el editor de scripts de Google, donde es posible crear macros para Google Documents.

Pegue este script y guárdelo como Fecha Macro o algo así: (también disponible aquí )

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

Ahora actualice o vuelva a abrir su documento y aparecerá un nuevo elemento de menú: Utilidades . En este menú aparece un elemento llamado Insertar fecha . Haga clic en eso para insertar la fecha de hoy en la posición del cursor.

Para cambiar el formato de la fecha, debe cambiar el "formato" utilizado en la secuencia de comandos. El formato puede contener los siguientes caracteres:yyyy-MM-dd'T'HH:mm:ss'Z'

Para aclarar, este script simplemente inserta la fecha de hoy en la ubicación del cursor para el día en que ejecuta la utilidad. Eso no es exactamente lo mismo que la función = today () en Google Sheets, que actualiza la fecha a la fecha actual cada vez que abre la hoja de cálculo. Sin embargo, este script le ahorrará la molestia de buscar la fecha y escribirla el día en que ejecute el script.

Thomas Wiersema
fuente
1
Esto ahora se encuentra en Herramientas> Editor de secuencias de comandos ...
Mir
2
El valor predeterminado es "GMT". Si observa la línea que contiene: Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd");es posible cambiar GMT a una zona horaria de su elección.
Thomas Wiersema
1
Hice una función similar para SpreadsheetApp (para insertar la fecha en la celda activa). Puede encontrarlo aquí: gist.github.com/Eccenux/712ae3d7913e971e46035546b2ccc85b
Nux
1
Ahora ... ¿hay alguna forma de forzar automáticamente que se inserte un script en todos los documentos creados en una organización?
Michael
1
¿Hay alguna forma de hacer que este script sea "global" para que por cada documento de Google que creo o abra, el script esté allí y sea accesible?
Taptronic
1

Si está dispuesto a usar un programa de terceros, yo uso Dash - http://kapeli.com/dash - con un fragmento de Fecha y Hora. Reemplaza automáticamente su fragmento (el mío es 'datetime') con la fecha y hora actuales. Esto funciona en todo el sistema.

Dash solo está disponible para OS X e iOS.

Joshua Dance
fuente
1
Dash no parece funcionar con Documentos de Google.
Rubén
@ Rubén: acabo de comprobarlo. Funciona muy bien Tienes que escribir tu acceso directo. Por ejemplo, tengo @@ para mi correo electrónico. Una vez que escribe ese guión, lo reemplaza con su texto.
Joshua Dance
Documentos de Google no aparece en la página vinculada en su respuesta, por otro lado, parece que Dash solo está disponible para OS X e iOS. ¿Sabes si está disponible para otro sistema operativo?
Rubén
1
@ Rubén: la lista son los documentos API de programación que vienen cargados en Dash. Dash funciona en cualquier lugar donde funciona la entrada de texto. Y hay programas similares de autocompletar disponibles para otros sistemas operativos.
Joshua Dance
0

Aquí está mi versión modificada para salir con un membrete.

Imprime la fecha actual como '14, agosto de 2015 'en la zona horaria "GMT + 2" con la fuente' Cambria 'en tamaño 11.

Ver a continuación:

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.');
  }
}
Cuervo Weng
fuente
0

Olvídate de las macros. Simplemente enlace a una celda en Google Sheets !

  1. Ve a Hojas de cálculo de Google .
  2. Cree una nueva hoja de cálculo de Hojas de cálculo de Google y asígnele el nombre "Hoy".
  3. En una celda de esa hoja de cálculo, escriba lo siguiente: = TODAY ()
  4. Seleccione esa celda junto con una celda contigua (que la convierte en una Tabla y no solo en texto). Copie las celdas seleccionadas (usando "Editar" -> "Copiar" o un atajo de teclado).
  5. Abra un documento de Google o una presentación de diapositivas de Google y pegue la tabla donde desee que aparezca la fecha del día actual.

Voila!

geekzspot
fuente
44
Gracias @geekzspot: mencionas 'celular', así que supongo que estás hablando de una hoja de cálculo de Google Drive. ¿Sabes si hay una manera de hacerlo en un documento de Google Drive?
Sam
Sí, esto es para hojas de cálculo. Lo he dejado más claro. Lo sentimos, esto no funciona en un documento
geekzspot