0

Excel/VBA 内での日付の処理に苦労しています

日付列を含むスプレッドシートがあり、期待どおりに英国形式で表示されます。

次に、スプ​​レッドシートを操作してテキスト ファイルとして保存し、データを別のシステムにロードします。

私の問題は、ファイルを保存するときに2つのことを行うときに発生します.1つ目は、Excelの米国の偏りにより、日付を「反転」しようとするため、たとえば、2012年7月1日は2012年7月1日から2012年7月1日になります。

次に、ファイルを保存してテキスト ファイルを再度開くと、ゼロが削除されたように見えるため、日付が間違った方向に読み取られるだけでなく、ゼロがないため、2012 年 7 月 1 日が表示されます。

私がインポートしているシステムは、受け入れる日付の形式について非常に具体的です。

私はあらゆる種類を試しました

ActiveCell.FormulaR1C1 = "=TEXT(RC[-1],""dd/mm/yyyy"")"

Cells(x, 3).Value = Left(CStr(Cells(x, 3).Value), 2) + "/" + Mid(CStr(Cells(x, 3).Value), 4, 2) + "/" + Right(CStr(Cells(x, 3).Value), 4)

Excel内では、これらの両方が必要な形式を維持するためのトリックを実行します。ファイルをテキストとして保存すると、上記の問題が発生します。

日付をゼロで埋めて、強制的にリテラル文字列として保存したいのですが、アイデアが不足しています。

これは簡単な修正だと確信していますが、問題に他の目が必要なので、助けていただければ幸いです

4

1 に答える 1

5

Accessにインポートするために.csrファイルに保存するときにも同じ問題が発生しました。答えはLocal:=TrueSaveAsステートメントに追加することです。これにより、日付がUK形式のままになります。

以下は私が使用したコードです:

' save data to csv file
ChDir "C:\Documents and Settings\Doug\My Documents\Fitness\LogCard Data"
ActiveWorkbook.SaveAs Filename:= _
 "C:\Documents and Settings\Doug\My Documents\Fitness\LogCard Data\LogCard_access.csv" _
    , FileFormat:=xlCSV, CreateBackup:=False, Local:=True
于 2012-11-13T20:42:44.033 に答える