Home » ワードマクロ・Word VBAの使い方 » Selection » Word VBAではSelection.InsertDateTimeで今日の日付を入力できるけど……

Word VBAではSelection.InsertDateTimeで今日の日付を入力できるけど……

動作検証バージョン:Windows 11 Home + 64bit Word バージョン 2402(ビルド17328.20000クイック実行)ベータチャネル

WordのRange.TextプロパティとVBAのDate関数を使った、今日の日付を入力するWordマクロをご紹介しました。

2024年2月時点で、このようなRange.TextプロパティとDate関数を使う方法は、少数派のようです。

[スポンサードリンク]

CopilotはSelection.InsertDateTimeを使ったコードを生成

Copilot in Bingで「Wordマクロで今日の日付を入力するには?」と私が質問したところ、以下のようなコードを生成してくれました。

Selection.InsertDateTime DateTimeFormat:="yyyy年 M月 d日", InsertAsField:=False

これに近いコードがネット上などに大量に存在するからこそ、生成AIはこのコードを提示してきたのでしょう。

このコードを2024年2月13日に実行すれば、アクティブなWord文書でカーソルのあった位置に、

2024年 2月 13日

と入力されます。

コードとしては間違っていませんが、私はこのコードがAIで生成される状況に疑問を感じます。
Selection.InsertDateTimeメソッドは、今日の日付を入力することしかできないコードだからです。

汎用性の高い方法をまず覚えるべきでしょう

Wordマクロを使って、今日の日付入力だけを行いたいというのであれば、Selection.InsertDateTimeメソッドで全く問題ないと思います。
しかし現実的には、そうではないはずです。

Wordマクロで今日の日付を入力できることを知れば、人は、他のこともVBAで行いたくなるものだと思うのです。

Word VBAには、

TMTOWTDI(There's More Than One Way To Do It./やり方は一つじゃない)

といった設計思想があるかのように、さまざまなメソッドが用意されています。

Word VBAを熟知した後であれば、Selection.InsertDateTime的なメソッドを知ることは悪いことだと思いませんが、最初に知るべきメソッドかと問われると、私は違うと思うのです。
オブジェクトブラウザーを見ればわかるとおり、InsertDateTimeの他にInsert○○といった名前のメソッドがたくさん用意されています。

「○○を入力したい」といった要望があったときに、これらのメソッドを次から次へと覚えるのでしょうか。

このようなメソッドをたくさん覚えるよりも、Range.Textプロパティを経由する代入文のような、汎用性の高い方法を最初に知るべきだと私は思うのです。

最終更新日時:2024-02-14 08:56

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » Selection » Word VBAではSelection.InsertDateTimeで今日の日付を入力できるけど……

「Selection」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.