Чи є спосіб вставити сьогоднішню дату в Документи Google?


75

Я подивився під вставкою> ...? але нічого не змогли знайти

Чи можна це зробити за допомогою вбудованої функції або спеціального сценарію?


11
Я вражений тим, що в Документах Google ще немає цієї функції. Здається, це одна з найосновніших речей, яку повинні мати сучасні текстові редактори.
LS

Якщо вам це потрібно для вставки електронних таблиць = TODAY () у комірці. Я знаю питання про google-docs. Але спочатку в google, якщо google для електронних таблиць.
Фортран

"= TODAY ()" чудово працює
Jackssn

=TODAY()не працює для ведення журналу, оскільки він оновлюватиметься до поточної дати щоразу, коли сторінка буде відкрита. Найчастіше я хочу записувати сьогоднішні дати, а не оновлювати. Якщо вам потрібно вставити сьогоднішню дату для файлу журналу, знадобиться щось інше.
Гефест

Відповіді:


66

Можливо вставити сьогоднішню дату через макрос.

Відкрийте документ Google і в розділі Інструменти виберіть Редактор сценаріїв . Це відкриває редактор сценаріїв Google, де можна створити макроси для документів Google.

Вставте цей скрипт і збережіть його як Date Macro або щось таке: (також доступне тут )

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

Тепер оновіть або знову відкрийте документ, і з’явиться новий пункт меню: Утиліти . У цьому меню з'являється елемент під назвою Вставити дату . Клацніть на цьому, щоб вставити сьогоднішню дату на позиції курсору.

Щоб змінити формат дати, вам потрібно змінити "формат", який використовується у сценарії. Формат може містити такі символи:yyyy-MM-dd'T'HH:mm:ss'Z'

Для уточнення, цей скрипт просто вставляє сьогоднішню дату в місце розташування курсора за день, коли ви виконаєте утиліту. Це не точно так само, як функція = сьогодні () у Google Таблицях, яка оновлює дату до поточної дати щоразу, коли ви відкриваєте електронну таблицю. Однак цей скрипт позбавить вас від проблеми пошуку дати та введення її в день виконання сценарію.


1
Зараз це знайдено в розділі Інструменти> Редактор сценаріїв ...
Мир

2
За замовчуванням використовується "GMT". Якщо ви подивитеся на рядок, що містить: Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd");можливо, змінити GMT на вибраний часовий пояс.
Томас Вірсема

1
Я зробив подібну функцію для SpreadsheetApp (для вставки дати в активну комірку). Ви можете знайти його тут: gist.github.com/Eccenux/712ae3d7913e971e46035546b2ccc85b
Nux

1
Тепер .. чи є якийсь спосіб автоматично змусити скрипт вставити у всі документи, створені в організації?
Майкл

1
Чи є якийсь спосіб зробити цей скрипт "глобальним", щоб кожен створений або відкритий документ, який я створюю, відкрив, сценарій є доступним?
Taptronic

1

Якщо ви бажаєте використовувати програму сторонніх розробників, я використовую Dash - http://kapeli.com/dash - з фрагментом дати та часу. Він автоматично замінює ваш фрагмент (мій - 'datetime') на поточну дату та час. Це працює в цілому системі.

Dash доступний лише для OS X та iOS.


1
Dash не працює з документами Google.
Рубен

@ Rubén - я щойно перевірив. Це чудово працює. Ви повинні ввести ярлик. Наприклад, у мене є електронний лист @@. Після введення цього тире замінює його на ваш текст.
Танець Джошуа

Документи Google не вказані на пов’язаній сторінці у вашій відповіді, з іншого боку, схоже, що Dash доступний лише для OS X та iOS. Чи знаєте ви, чи вона доступна для інших ОС?
Рубен

1
@ Rubén - список програмних програм API, які завантажуються в Dash. Тире працює де завгодно. І є подібні програми автоматичного завершення, доступні для інших ОС.
Танець Джошуа

0

Ось моя модифікована версія для знайомства з головою листа.

Він друкує поточну дату, наприклад, '14, серпень, 2015 'у часовому поясі "GMT + 2" із шрифтом "Cambria" розміром 11.

Дивіться наступне:

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

Забудьте про макроси Просто посилання на клітинку в Google Таблицях !

  1. Перейдіть до Google Таблиць .
  2. Створіть нову електронну таблицю Google Таблиць і назвіть її на кшталт "Сьогодні".
  3. У комірці цієї електронної таблиці введіть таке: = TODAY ()
  4. Виберіть цю клітинку разом із сусідньою коміркою (що робить її таблицею, а не лише текстом). Скопіюйте вибрані комірки (за допомогою "Редагувати" -> "Копіювати" або комбінації клавіш).
  5. Відкрийте Документ Google або Слайд-шоу Google і вставте таблицю куди завгодно, щоб з’явилася дата поточного дня.

Вуаля!


4
Дякуємо @geekzspot - ви згадуєте "клітинку", тож я припускаю, що ви говорите про електронну таблицю диска Google, чи знаєте ви, чи є спосіб це зробити в документі слова Google Drive Drive?
сам

Так, це для електронних таблиць. Я зрозумів це. На жаль, це не працює в документі
geekzspot
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.