英語で読む

次の方法で共有


VBA マクロを使用して Excel で CSV テキスト ファイルを変換すると、日付形式が正しくありません

現象

Microsoft Visual Basic for Applications (VBA) マクロを使用してコンマ区切り値 (CSV) テキスト ファイルを Microsoft Office Excel ブック (*.xls) に変換する場合、Excel ブックに変換される日付の形式が正しくない可能性があります。

たとえば、CSV ファイルでは、日付の形式は次のようになります。

dd/mm/yyyy

次のマクロを実行して CSV テキスト ファイルを Excel に変換すると、

VB
Sub test()

Workbooks.OpenText Filename:="C:\Test1.csv", DataType:=xlDelimited, _
      TextQualifier:=xlTextQualifierNone, FieldInfo:=Array(1, 4)

End Sub

日付は次の形式で変換できます。

mm/dd/yyyy

解決方法

Microsoft は、例示のみを目的としてプログラミング例を提供しており、明示または黙示にかかわらず、いかなる責任も負わないものとします。 これには、市販性または特定目的との適合性についての黙示の保証も含まれますが、これに限定はされません。 この記事は、説明されているプログラミング言語、手順を作成およびデバッグするために使用されているツールに読者が精通していることを前提にしています。 Microsoft サポート エンジニアは、特定のプロシージャの機能を説明できますが、これらの例を変更して、特定の要件を満たす追加の機能を提供したり、プロシージャを構築したりすることはありません。 この問題を解決するには、次の例のように、vba マクロに local:=true パラメーターを追加します。

VB
Sub test()

Workbooks.OpenText Filename:="C:\Test1.csv", DataType:=xlDelimited, _
      TextQualifier:=xlTextQualifierNone, FieldInfo:=Array(1, 4), Local:=True

End Sub