今日の日付をGoogleドキュメントに挿入する方法はありますか?


75

私は挿入の下を見ました> ...?しかし、何も見つかりませんでした。

これは、組み込み関数またはカスタムスクリプトを使用して実行できますか?


11
Googleドキュメントにはまだこの機能がないのでショックを受けました。それは、現代のワープロが持つべき最も基本的なものの一つのようです。
LS

spreadshettsに必要な場合は、セルに= TODAY()を貼り付けます。google-docsに関する質問を知っています。ただし、スプレッドシートをグーグルで検索する場合は、グーグルで最初に。
Fortran

「= TODAY()」は非常に効果的です
Jackssn

=TODAY()ページを開くたびに現在の日付に更新されるため、ロギングには機能しません。ほとんどの場合、更新せずに今日の日付を記録します。ログファイルに今日の日付を挿入する必要がある場合は、別のものが必要です。
ヘファイストス

回答:


66

マクロを使用して今日の日付を挿入することができます。

Googleドキュメントを開き、[ ツール]で [ スクリプトエディター]を選択します。これにより、Googleドキュメントのマクロを作成できるGoogleのスクリプトエディターが開きます。

このスクリプトを貼り付けて、日付マクロまたは何かとして保存します:(こちらも利用可能です

/**
 * 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
これは、現在のツールの下で発見された>スクリプトエディタ...
ミール

2
デフォルトは「GMT」です。次を含む行を見ると、Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd");GMTを選択したタイムゾーンに変更できます。
トーマスヴィエルセマ

1
SpreadsheetAppに対して同様の関数を作成しました(アクティブセルに日付を挿入するため)。ここにあります:gist.github.com/Eccenux/712ae3d7913e971e46035546b2ccc85b
Nux

1
今..組織で作成されたすべてのドキュメントにスクリプトを自動的に挿入する方法はありますか?
マイケル

1
このスクリプトを「グローバル」にする方法はありますか。そのため、作成または開くすべてのGoogleドキュメントに対して、スクリプトが存在し、アクセス可能になりますか?
Taptronic

1

サードパーティのプログラムを使用する場合は、Dash- http://kapeli.com/dash-Date and Time snippetを使用します。スニペット(私の日付は 'datetime')を現在の日付と時刻に自動的に置き換えます。これはシステム全体で機能します。

DashはOS XとiOSでのみ利用可能です。


1
DashはGoogleドキュメントでは機能しないようです。
ルベン

@Rubén-確認しました。それは素晴らしく機能します。ショートカットを入力する必要があります。たとえば、メールには@@があります。ダッシュを入力すると、ダッシュがテキストに置き換えられます。
ジョシュアダンス

Google Documentsは回答のリンク先ページにリストされていませんが、DashはOS XとiOSでのみ使用できるようです。他のOSで利用できるかどうか知っていますか?
ルベン

1
@Rubén-リストは、Dashに読み込まれるプログラミングAPIドキュメントです。ダッシュは、テキスト入力がどこでも機能します。また、他のOSでも同様のオートコンプリートプログラムを利用できます。
ジョシュアダンス

0

これがレターヘッドのデート用に修正したバージョンです。

「2015年8月14日」のような現在の日付を、タイムゾーン「GMT + 2」でサイズ「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.');
  }
}

0

マクロを忘れてください。Googleスプレッドシートのセルにリンクするだけです!

  1. 行くのGoogleスプレッドシート
  2. 新しいGoogleスプレッドシートのスプレッドシートを作成し、「今日」などの名前を付けます。
  3. そのスプレッドシートのセルに、次を入力します。= TODAY()
  4. そのセルと隣接するセルを選択します(これにより、テキストではなくテーブルになります)。選択したセルをコピーします([編集]-> [コピー]またはキーボードショートカットを使用)。
  5. GoogleドキュメントまたはGoogleスライドショーを開き、現在の日付を表示したい場所にテーブルを貼り付けます。

出来上がり!


4
@geekzspotに感謝します-「セル」と言うので、Googleドライブのスプレッドシートについて話していると思いますが、Googleドライブのワードドキュメントでこれを行う方法があるかどうか知っていますか?
サム14

はい、これはスプレッドシート用です。明確にしました。申し訳ありませんが、このドキュメントでは動作しません
geekzspot
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.