Aileenは、9/22/12など、日付が数値形式である多くのドキュメントを処理します。彼女は、これらの日付を別の形式、具体的には2012年9月22日に変換する必要があります。彼女は、各日付を再入力せずに変更を加える簡単な方法があるかどうか疑問に思います。

答えは、主に、変更する日付の性質によって異なります。 Word文書の日付は、ストレートテキストまたはフィールドのいずれかです。挿入ポイントを日付内のどこかに移動するだけで、日付がフィールドであるかどうかを確認できます。フィールドの場合、挿入ポイントが日付内に入ると、日付全体が薄い灰色でシェーディングされます。

日付がフィールドの場合は、日付を右クリックして、表示されるコンテキストメニューから[フィールドの編集]を選択できます。次に、[フィールドのプロパティ]リストで別の日付形式を選択するなど、フィールドを変更できます。

日付が(フィールドではなく)通常のテキストである場合は、別の解決策を探す必要があります。ドキュメントを調べてすべての日付を手動で再入力することは可能ですが、アイリーンはそのようなアプローチが面倒であることをすでに知っています。これは、マクロが役立つ場合があります。それ以外の場合は手作業で行うことをプログラムで実行することにより、退屈な作業を解決します。

次のマクロは、ドキュメントをステップスルーし、m / d / yyyyの形式ですべての日付を検索します。 (月または日のいずれかに1桁または2桁の数字がありますが、年には4桁である必要があります。)このパターンに一致する日付が見つかると、mmmm d、yyyyの形式に変換されます。

Sub GetDateAndReplace()

Dim FoundOne As Boolean

Selection.HomeKey Unit:=wdStory, Extend:=wdMove     FoundOne = True ' loop at least once

Do While FoundOne ' loop until no date is found         With Selection.Find             .ClearFormatting             .Replacement.ClearFormatting             .Text = "([0-9]{1,2})[/]([0-9]{1,2})[/]([0-9]{4})"

.Format = True             .Forward = True             .MatchWildcards = True         End With

Selection.Find.Execute Replace:=wdReplaceNone

' check the find to be sure it's a date         If IsDate(Selection.Text) Then             Selection.Text = Format(Selection.Text, "mmmm d, yyyy")

Selection.Collapse wdCollapseEnd         Else ' not a date - end loop             FoundOne = False         End If     Loop End Sub

注:

このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

link:/ wordribbon-WordTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]

_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(3400)は、Microsoft Word 97、2000、2002、および2003に適用されます。Wordのリボンインターフェイス(Word 2007)用のこのヒントのバージョンを見つけることができます。以降)ここ:

link:/ wordribbon-Changing_the_Format_of_Existing_Dates [既存の日付のフォーマットの変更]