[Excel/Access VBA]「#2008-01-01#」形式の日付を「2008-01-01」に変換する方法

| カテゴリ:

Excel VBAで、Writeステートメントを使ってCSV出力すると、日付が #2008-01-01# のような形式になってしまいます。
このCSVをAccessにインポートするのは大変です。
以下のような自作関数を使って変換しましょう。


Excel側でエクスポートする際に変換してもいいし、Access側でインポートした後にクエリで変換してもいいです。

Function sanitizeDate(str As Variant) As Variant 
    If Left(str, 2) = "#2" And Right(str, 1) = "#" And Len(str) = 12 Then
        sanitizeDate = Mid(str, 2, 10)
    Else
        sanitizeDate = str
    End If
End Function
使い方
Sub test()
   MsgBox sanitizeDate("#2008-01-01#")
End Sub

実行結果: 2008-01-01


トラックバック(0)

トラックバックURL: http://dqn.sakusakutto.jp/mt/mt-tb.cgi/206

コメントする

人気記事

このブログ記事について

ひとつ前の記事:「Perl/CGIに必ず登場するuse strictの解説(初心者向け)

次の記事:「[WSH]VBSからSQLでAccessのデータを操作する方法 (ADO)

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

最近の人気記事