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

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

评论

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

如果您需要用于电子表格,则将= TODAY()粘贴到单元格中。我知道有关google-docs的问题。但是首先要在Google中使用Google for电子表格。

“ = TODAY()”很好用

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

#1 楼

可以通过宏插入今天的日期。
打开Goog​​le文档,然后在“工具”下选择“脚本编辑器”。这会打开Goog​​le的脚本编辑器,可在其中创建Google文档的宏。
粘贴此脚本并将其另存为Date宏或其他内容:
/**
 * 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 = (new Date).toLocaleDateString('default', { day: 'numeric', month: 'long', year: 'numeric'}); // use your local (browser) date format with month name
    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()函数并不完全相同,后者在您打开电子表格时会将日期更新为当前日期。但是,此脚本将避免您在执行脚本的当天查找日期并键入日期的麻烦。

评论


这会在当地时区插入当前日期还是在格林尼治标准时间插入当前日期?

– Tmdean
15年3月22日在18:00

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

–托马斯·维斯玛(Thomas Wiersema)
15年3月23日在14:19

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

– Nux
16 Nov 21在11:23



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

–迈克尔
18年3月28日在18:14

有什么方法可以使此脚本“全局”,以便对于我创建或打开的每个Google Doc,该脚本都可以使用并且可以访问?

– Taptronic
19年8月23日在13:41

#2 楼

忘记宏。只需链接到Google表格中的单元格即可。


转到Google表格。
创建一个新的Google表格电子表格,并将其命名为“ Today”。
在在该电子表格中的一个单元格中,键入以下内容:= TODAY()
选择该单元格以及相邻的单元格(使它成为表格,而不仅仅是文本)。复制选定的单元格(使用“编辑”->“复制”或键盘快捷键)。
打开Goog​​le文档或Google幻灯片,然后将表格粘贴到您希望显示当天日期的任何位置。

Voila!

评论


谢谢@geekzspot-您提到“单元格”,所以我想您是在谈论Google驱动器电子表格吗?您知道在Google驱动器Word文档中是否有办法做到这一点?

–山姆
2014年4月9日在8:36



我正在寻找更“修改日期”的日期,但是如果您使用“文档”创建pdf或打印的表单,这是最优雅的解决方案。

–Wasted_Coder
1月22日8:09

如本文所述,这在“ Word”文档中无效,但在“ Google Docs”文档中有效。答案中唯一缺少的步骤是在粘贴表格后选择“链接到电子表格”。

–StriplingWarrior
3月9日1:26

#3 楼


转到Google表格,然后创建一个新的电子表格文件,并使用提示性名称,例如
将Sheet1工作表重命名为更具暗示性的名称,例如日期。
在单元格A1上,键入=TODAY()并按Enter键,然后(仍选中单元格A1)转到Format => Number并选择Date,或者选择More Formats => Custom number format,根据需要对其进行自定义(例如mmmm dd, yyyy.),然后单击“应用”。不要忘记更改字体类型,使其与您的Google Docs文档中使用的字体类型匹配。例如。如果您的文档使用Arial字体,请确保A1单元格也设置为使用Arial字体。
仍选择了A1单元格,然后选择“插入” =>“图表”。默认情况下,将创建一个柱形图。双击它,然后在“图表编辑器”面板(屏幕右侧)上,转到“设置”,然后将“图表类型”更改为“记分卡”图表。然后,您的图表将成为日期字段。
返回到Google文档文档,在文本中选择要插入该日期字段的位置,然后选择插入=>图表=>从表格中,选择电子表格文件在“文件”字段中,单击“选择”,然后单击将显示在记分卡图表上,然后单击“导入”。
使用您的(鼠标,触摸板,点击板...)指针单击并拖动图表的其中一个(下方-以便按比例调整图表的大小,直到其字体大小与您的文本大小匹配为止。
双击图表,然后向下拖动矩形的下侧大约是文本高度的两倍(在执行此操作时,请按住左Alt键盘键,因此此任务在“精确模式”下执行)。在图表外部单击以退出“图表编辑模式”。
日期图表的文本仍将垂直不与文档的文本对齐。再次双击图表,然后在按住左Alt键的同时向上拖动矩形的下侧。直到您的日期文本与文档文本对齐为止。为了更新/刷新文档,请选择日期图表,然后单击UPDATE按钮。
如果日期图表的字体大小与文本的字体大小不匹配,请调整文档中图表的大小不起作用,请返回工作表并更改其中的字体大小:在Google表格中双击图表,然后在图表编辑器中选择“自定义”,然后选择“键值”并修改字体大小。


#4 楼

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

Dash仅适用于OS X和iOS。

评论


Dash似乎无法与Google Documents一起使用。

–鲁本♦
2015年8月6日在2:34

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

–约书亚舞
15年8月11日在18:03

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

–鲁本♦
15年8月11日在22:01

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

–约书亚舞
15年8月12日在21:20

#5 楼

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

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

请参见以下内容:

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