有没有办法将今天的日期插入Google文档?


75

我看过插入> ...吗?但找不到任何东西。

可以通过内置函数或自定义脚本来完成此操作吗?


11
令我震惊的是Google文档还没有此功能。看来,现代文字处理器应该具备的最基本的功能之一。
LS

如果您需要它来进行传播,请在单元格中粘贴= TODAY()。我知道有关google-docs的问题。但首先在谷歌,如果谷歌为spreadshets。
Fortran

“ = TODAY()”效果很好
Jackssn

=TODAY()不适用于日志记录,因为每次打开页面时它将更新为当前日期。大多数时候,我想记录今天的日期而不更新。如果您需要为日志文件插入今天的日期,则还需要其他内容。
赫菲斯托斯

Answers:


66

可以通过宏插入今天的日期。

打开您的Google文档,然后在“ 工具”下选择“ 脚本编辑器”。这将打开Goog​​le的脚本编辑器,可以在其中创建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表格中的= today()函数并不完全相同,后者在您打开电子表格时会将日期更新为当前日期。但是,此脚本将为您省去查找日期并在执行脚本当天键入日期的麻烦。


1
现在可以在“工具”>“脚本编辑器...”下找到它
2014年

2
默认为“ GMT”。如果您查看包含以下Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd");内容的行:可以将GMT更改为所选时区。
Thomas Wiersema 2015年

1
我为SpreadsheetApp做了类似的功能(在活动单元格中插入日期)。您可以在这里找到它:gist.github.com/Eccenux/712ae3d7913e971e46035546b2ccc85b
Nux

1
现在..有什么方法可以自动将脚本插入组织中创建的所有文档中?
迈克尔

1
有什么办法可以使该脚本具有“全局性”,以便我创建或打开的每个Google Doc都可以使用该脚本?
Taptronic

1

如果您愿意使用第三方程序,则可以使用带有日期和时间段的Dash- http ://kapeli.com/dash。它会自动用当前日期和时间替换您的代码段(我的代码是“ datetime”)。这适用于整个系统。

Dash仅适用于OS X和iOS。


1
Dash似乎无法与Google Documents一起使用。
鲁本2015年

@Rubén-我刚刚检查过。效果很好。您必须输入快捷方式。例如,我的电子邮件有@@。键入后,Dash将其替换为文本。
2015年

另一方面,您答案的链接页面中未列出Google文档,但Dash仅适用于OS X和iOS。您知道它是否可用于其他操作系统吗?
鲁本

1
@Rubén-列表是Dash中加载的编程API文档。Dash在任何文本输入有效的地方都可以使用。并且有类似的自动完成程序可用于其他操作系统。
约书亚舞

0

这是我与信头约会的修改版本。

它以时区11的字体“ Cambria”在时区“ GMT + 2”中打印当前日期,例如“ 2015年8月14日”。

请参阅以下内容:

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驱动器Word文档中是否有办法做到这一点?
2014年

是的,这是针对电子表格的。我说得更清楚了。抱歉,这在文档中
不起作用
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.