Czy istnieje sposób wstawienia dzisiejszej daty do Dokumentów Google?

75

Szukałem pod wstawką> ...? ale nic nie mogłem znaleźć.

Czy można to zrobić za pomocą wbudowanej funkcji lub niestandardowego skryptu?

sam
źródło
11
Jestem zszokowany, że Dokumenty Google nie mają jeszcze tej funkcji. Wydaje się, że jest to jedna z najbardziej podstawowych rzeczy, które powinny mieć współczesne edytory tekstu.
LS
Jeśli potrzebujesz go do arkuszy kalkulacyjnych, wklej = DZISIAJ () w komórce. Znam pytanie na temat dokumentów Google. Ale najpierw w google, jeśli google dla arkuszy kalkulacyjnych.
Fortran
„= TODAY ()” działa świetnie
Jackssn
=TODAY()nie działa przy logowaniu, ponieważ aktualizuje się do bieżącej daty przy każdym otwarciu strony. Najczęściej chcę nagrywać dzisiejszą datę i nie aktualizować. Jeśli chcesz wstawić dzisiejszą datę dla pliku dziennika, potrzebujesz czegoś innego.
Hefajstos

Odpowiedzi:

66

Możliwe jest wstawienie dzisiejszej daty za pomocą makra.

Otwórz dokument Google i w menu Narzędzia wybierz Edytor skryptów . Spowoduje to otwarcie edytora skryptów Google, w którym można tworzyć makra dla Dokumentów Google.

Wklej ten skrypt i zapisz go jako makro daty lub coś w tym stylu: (dostępny również tutaj )

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

Teraz odśwież lub ponownie otwórz dokument, a pojawi się nowy element menu: Narzędzia . W tym menu pojawia się element o nazwie Wstaw datę . Kliknij, aby wstawić dzisiejszą datę w pozycji kursora.

Aby zmienić format daty, musisz zmienić „format” użyty w skrypcie. Format może zawierać następujące znaki:yyyy-MM-dd'T'HH:mm:ss'Z'

Aby to wyjaśnić, ten skrypt po prostu wstawia dzisiejszą datę w miejscu kursora w dniu uruchomienia narzędzia. Nie jest to dokładnie to samo, co funkcja = Today () w Arkuszach Google, która aktualizuje datę do bieżącej daty za każdym razem, gdy otwierasz arkusz kalkulacyjny. Jednak ten skrypt zaoszczędzi ci trudu wyszukiwania daty i wpisywania jej w dniu wykonania skryptu.

Thomas Wiersema
źródło
1
Można to teraz znaleźć w Narzędzia> Edytor skryptów ...
Mir
2
Domyślnie jest to „GMT”. Jeśli spojrzysz na wiersz zawierający: Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd");można zmienić GMT na wybraną strefę czasową.
Thomas Wiersema
1
Zrobiłem podobną funkcję dla SpreadsheetApp (aby wstawić datę w aktywnej komórce). Można go znaleźć tutaj: gist.github.com/Eccenux/712ae3d7913e971e46035546b2ccc85b
Nux
1
Teraz .. czy jest jakiś sposób, aby automatycznie zmusić skrypt do wstawienia do wszystkich dokumentów utworzonych w organizacji?
Michael
1
Czy jest jakiś sposób, aby ten skrypt był „globalny”, tak aby dla każdego tworzonego lub otwieranego dokumentu Google skrypt był dostępny i dostępny?
Taptronic
1

Jeśli chcesz korzystać z programu innej firmy, używam Dash - http://kapeli.com/dash - z fragmentem daty i godziny. Automatycznie zastępuje fragment kodu (mój to „data / godzina”) bieżącą datą i godziną. Działa to w całym systemie.

Dash jest dostępny tylko dla OS X i iOS.

Joshua Dance
źródło
1
Dash nie chce współpracować z Dokumentami Google.
Rubén,
@ Rubén - Właśnie sprawdziłem. Działa świetnie. Musisz wpisać skrót. Na przykład mam @@ dla mojego e-maila. Po wpisaniu Dash zamienia go na tekst.
Joshua Dance
Dokumenty Google nie są wymienione na połączonej stronie w odpowiedzi, z drugiej strony wygląda na to, że Dash jest dostępny tylko dla OS X i iOS. Czy wiesz, czy jest dostępny dla innego systemu operacyjnego?
Rubén,
1
@ Rubén - lista zawiera dokumentacje API programowania, które są ładowane w Dash. Dash działa wszędzie tam, gdzie działa wprowadzanie tekstu. Istnieją również podobne programy autouzupełniania dla innych systemów operacyjnych.
Taniec Joshua,
0

Oto moja zmodyfikowana wersja randki z nagłówkiem.

Drukuje bieżącą datę, np. „14 sierpnia 2015 r.” W strefie czasowej „GMT + 2” czcionką „Cambria” w rozmiarze 11.

Zobacz:

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
źródło
0

Zapomnij makra. Wystarczy połączyć z komórką w Arkuszach Google !

  1. Przejdź do Arkuszy Google .
  2. Utwórz nowy arkusz kalkulacyjny Arkuszy Google i nadaj mu nazwę „Dzisiaj”.
  3. W komórce w tym arkuszu kalkulacyjnym wpisz następujące polecenie: = TODAY ()
  4. Wybierz tę komórkę wraz z przylegającą komórką (co czyni ją tabelą, a nie tylko tekstem). Skopiuj wybrane komórki (używając „Edytuj” -> „Kopiuj” lub skrótu klawiaturowego).
  5. Otwórz Dokument Google lub Pokaz slajdów Google i wklej tabelę w dowolnym miejscu, w którym ma być wyświetlana data bieżącego dnia.

Voila!

geekzspot
źródło
4
Dzięki @geekzspot - wspominasz o „komórce”, więc zakładam, że mówisz o arkuszu kalkulacyjnym dysku Google, czy wiesz, czy istnieje sposób, aby to zrobić w dokumencie słowa dysku Google?
Sam
Tak, dotyczy to arkuszy kalkulacyjnych. Wyjaśniłem to. Niestety, to nie działa w dokumencie
geekzspot