Apakah ada cara untuk memasukkan tanggal hari ini ke Google Documents?

75

Saya telah melihat di bawah masukkan> ...? tetapi tidak dapat menemukan apa pun.

Apakah ini dapat dilakukan melalui fungsi inbuilt atau skrip khusus?

sam
sumber
11
Saya terkejut bahwa Google Documents belum memiliki fitur ini. Sepertinya salah satu hal paling mendasar yang harus dimiliki pengolah kata modern.
LS
Jika Anda membutuhkannya untuk spreadshetts tempel = TODAY () dalam sel. Saya tahu pertanyaan tentang google-docs. Tetapi pertama-tama di google jika google untuk spreadsheet.
Fortran
"= TODAY ()" bekerja dengan baik
Jackssn
=TODAY()tidak berfungsi untuk masuk, karena akan diperbarui ke tanggal saat ini setiap kali halaman dibuka. Sering kali saya ingin merekam tanggal hari ini dan tidak memperbarui. Jika Anda perlu memasukkan tanggal hari ini untuk file log, maka Anda perlu sesuatu yang lain.
Hephaestus

Jawaban:

66

Dimungkinkan untuk memasukkan tanggal hari ini melalui makro.

Buka Dokumen Google Anda dan di bawah Alat pilih Editor skrip . Ini membuka editor skrip Google di mana dimungkinkan untuk membuat makro untuk Google Documents.

Rekatkan skrip ini dan simpan sebagai Date Macro atau sesuatu: (juga tersedia di sini )

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

Sekarang refresh atau buka kembali dokumen Anda dan item menu baru muncul: Utilities . Di bawah menu ini muncul item yang disebut Sisipkan Tanggal . Klik itu untuk memasukkan tanggal hari ini di posisi kursor Anda.

Untuk mengubah format tanggal Anda perlu mengubah "format" yang digunakan dalam skrip. Format dapat berisi karakter berikut:yyyy-MM-dd'T'HH:mm:ss'Z'

Untuk memperjelas, skrip ini hanya menyisipkan tanggal hari ini di lokasi kursor untuk hari Anda menjalankan utilitas. Itu tidak persis sama dengan fungsi = today () di Google Sheets, yang memperbarui tanggal ke tanggal saat ini setiap kali Anda membuka spreadsheet. Namun, skrip ini akan menyelamatkan Anda dari kesulitan mencari tanggal dan mengetiknya pada hari Anda menjalankan skrip.

Thomas Wiersema
sumber
1
Ini sekarang ditemukan di bawah Tools> Script Editor ...
Mir
2
Standarnya adalah "GMT". Jika Anda melihat garis yang berisi: Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd");dimungkinkan untuk mengubah GMT ke zona waktu pilihan.
Thomas Wiersema
1
Saya telah membuat fungsi serupa untuk SpreadsheetApp (untuk memasukkan tanggal dalam sel aktif). Anda dapat menemukannya di sini: gist.github.com/Eccenux/712ae3d7913e971e46035546b2ccc85b
Nux
1
Sekarang .. adakah cara untuk memaksa skrip secara otomatis dimasukkan ke semua dokumen yang dibuat dalam suatu organisasi?
Michael
1
Apakah ada cara untuk membuat skrip ini "global" sehingga untuk setiap Google Doc yang saya buat atau buka, skrip itu ada dan dapat diakses?
Taptronic
1

Jika Anda bersedia menggunakan program pihak ke-3, saya menggunakan Dash - http://kapeli.com/dash - dengan cuplikan Tanggal dan Waktu. Ini secara otomatis mengganti cuplikan Anda (milik saya 'datetime') dengan tanggal dan waktu saat ini. Ini bekerja dengan sistem luas.

Dash hanya tersedia untuk OS X dan iOS.

Joshua Dance
sumber
1
Dash tidak terlihat berfungsi dengan Google Documents.
Rubén
@ Rubén - Saya baru saja memeriksa. Ini bekerja dengan baik. Anda harus mengetik pintasan Anda. Misalnya saya punya @@ untuk email saya. Setelah Anda mengetik, Dash akan menggantinya dengan teks Anda.
Joshua Dance
Google Documents tidak terdaftar di halaman tertaut dalam jawaban Anda, sebaliknya, terlihat bahwa Dash hanya tersedia untuk OS X dan iOS. Apakah Anda tahu jika itu tersedia untuk OS lain?
Rubén
1
@ Rubén - daftar adalah dokumen API pemrograman yang dimuat di Dash. Dash berfungsi di mana saja entri teks berfungsi. Dan ada program lengkap otomatis serupa yang tersedia untuk OS lain.
Joshua Dance
0

Ini adalah versi modifikasi saya untuk berkencan dengan kepala surat.

Mencetak tanggal saat ini seperti '14, Agustus, 2015 'di zona waktu "GMT + 2" dengan font' Cambria 'dalam ukuran 11.

Lihat berikut ini:

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
sumber
0

Lupakan makro. Cukup tautkan ke sel di Google Sheets !

  1. Buka Google Sheets .
  2. Buat spreadsheet Google Sheets baru dan beri nama seperti "Hari ini."
  3. Dalam sel di spreadsheet itu, ketikkan yang berikut: = TODAY ()
  4. Pilih sel itu bersama dengan sel yang berdampingan (yang membuatnya menjadi Tabel dan bukan hanya teks). Salin sel yang dipilih (menggunakan "Edit" -> "Salin" atau pintasan keyboard).
  5. Buka Google Doc atau Google Slideshow dan tempel tabel di mana pun Anda ingin tanggal hari ini muncul.

Voila!

geekzspot
sumber
4
Terima kasih @geekzspot - Anda menyebutkan 'sel' jadi saya menganggap Anda berbicara tentang spreadsheet Google Drive. Apakah Anda tahu jika ada cara untuk melakukan ini di dokumen kata Google Drive?
sam
Ya, ini untuk spreadsheet. Saya sudah membuatnya lebih jelas. Maaf, ini tidak berfungsi dalam dokumen
geekzspot