Existe uma maneira de inserir a data de hoje no Google Docs?


75

Eu olhei em inserir> ...? mas não conseguiu encontrar nada.

Isso pode ser feito através de uma função embutida ou de um script personalizado?


11
Estou chocado que o Google Docs ainda não tenha esse recurso. Parece uma das coisas mais básicas que os processadores de texto modernos devem ter.
— LS

Se você precisar dele, espalhe pasta = TODAY () na célula. Eu sei pergunta sobre o google-docs. Mas primeiro no google se o google for spreadshets.
— Fortran

"= TODAY ()" funciona muito bem
— Jackssn

=TODAY()não funciona para o log, pois será atualizado para a data atual sempre que a página for aberta. Na maioria das vezes, quero gravar a data de hoje e não atualizar. Se você precisar inserir a data de hoje para um arquivo de log, precisará de outra coisa.
— Hefesto

Respostas:


66

É possível inserir a data de hoje através de uma macro.

Abra seu documento do Google e, em Ferramentas, selecione Editor de scripts . Isso abre o editor de scripts do Google, onde é possível criar macros para o Google Documents.

Cole esse script e salve-o como Macro de Data ou algo assim: (também disponível aqui )

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

Agora atualize ou reabra o documento e um novo item de menu é exibido: Utilitários . Sob esse menu, um item aparece chamado Inserir Data . Clique para inserir a data de hoje na posição do cursor.

Para alterar o formato da data, você precisa alterar o "formato" usado no script. O formato pode conter os seguintes caracteres:yyyy-MM-dd'T'HH:mm:ss'Z'

Para esclarecer, esse script apenas insere a data de hoje no local do cursor do dia em que você executa o utilitário. Isso não é exatamente o mesmo que a função = today () no Planilhas Google, que atualiza a data para a data atual sempre que você abre a planilha. No entanto, esse script poupará o trabalho de procurar a data e digitar no dia em que você executar o script.


1
Isto agora é encontrado em Ferramentas> Editor de scripts ...
— Mir

2
O padrão é "GMT". Se você olhar para a linha que contém: Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd");é possível alterar o GMT para um fuso horário de sua escolha.
— Thomas Wiersema 23/03

1
Eu criei uma função semelhante para SpreadsheetApp (para inserir a data na célula ativa). Você pode encontrá-lo aqui: gist.github.com/Eccenux/712ae3d7913e971e46035546b2ccc85b
— Nux

1
Agora .. existe alguma maneira de forçar automaticamente a inserção de um script em todos os documentos criados em uma organização?
— Michael

1
Existe alguma maneira de tornar esse script "global" para que, para todo Google Doc que eu crie ou abra, o script esteja lá e acessível?
— Taptronic

1

Se você estiver disposto a usar um programa de terceiros, eu uso o Dash - http://kapeli.com/dash - com um snippet de data e hora. Ele substitui automaticamente seu snippet (o meu é 'datetime') pela data e hora atuais. Isso funciona em todo o sistema.

O Dash está disponível apenas para OS X e iOS.


1
O Dash não parece funcionar com o Google Documents.
— Rubén

@ Rubén - Acabei de verificar. Isso funciona muito bem. Você precisa digitar seu atalho. Por exemplo, tenho @@ no meu email. Depois de digitar, o Dash o substitui pelo seu texto.
— Joshua Dança

O Google Documents não está listado na página vinculada da sua resposta, por outro lado, parece que o Dash está disponível apenas para OS X e iOS. Você sabe se está disponível para outro sistema operacional?
— Rubén

1
@ Rubén - a lista são os documentos da API de programação que são carregados no Dash. O Dash funciona em qualquer lugar da entrada de texto. E existem programas automáticos completos semelhantes disponíveis para outros sistemas operacionais.
— Joshua Dance

0

Aqui está a minha versão modificada para namorar um cabeçalho de carta.

Ele imprime a data atual como '14 de agosto de 2015' no fuso horário "GMT + 2" com a fonte 'Cambria' no tamanho 11.

Veja o seguinte:

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

Esqueça as macros. Basta vincular a uma célula no Planilhas Google !

  1. Acesse o Planilhas Google .
  2. Crie uma nova planilha do Planilhas Google e chame-a de algo como "Hoje".
  3. Em uma célula nessa planilha, digite o seguinte: = HOJE ()
  4. Selecione essa célula junto com uma célula adjacente (o que a torna uma tabela e não apenas texto). Copie as células selecionadas (usando "Editar" -> "Copiar" ou um atalho de teclado).
  5. Abra um Google Doc ou uma apresentação de slides do Google e cole a tabela onde quiser que a data do dia atual apareça.

Voila!


4
Obrigado @geekzspot - você menciona 'célula', então presumo que você esteja falando sobre uma planilha do Google Drive. Você sabe se existe uma maneira de fazer isso em um documento do Google Drive?
— sam

Sim, isso é para planilhas. Eu deixei isso mais claro. Desculpe, isso não funciona em um documento
— geekzspot
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.