Päivämäärämuoto ei ole oikea, kun csv-tekstitiedosto muunnetaan Excelissä VBA-makron avulla

Oireet

Kun muunnat Comma-Separated Values (CSV) -tekstitiedoston Microsoft Visual Basic for Applications (VBA) -makrolla Microsoft Office Excel -työkirjaksi (*.xls), Excel-työkirjaksi muunnettujen päivämäärien muoto saattaa olla virheellinen.

Esimerkiksi CSV-tiedostossa päivämäärät voivat olla muodossa:

pp/kk/vvvv

Kun suoritat seuraavan makron CSV-tekstitiedoston muuntamiseksi Exceliksi,

Sub test()

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

End Sub

päivämäärät voidaan muuntaa seuraavassa muodossa:

pp.kk.vvvvv

Ratkaisu

Microsoft esittää ohjelmointiesimerkkejä vain asian havainnollistamiseksi, ilman suoraa tai epäsuoraa vastuuta niiden toimivuudesta. Tämä sisältää muunmuassa epäsuorat vastuut soveltuvuudesta kaupankäyntiin tai soveltuvuuteen yksilöityyn käyttöön. Tässä artikkelissa oletetaan, että olet perehtynyt käytettyyn ohjelmointikieleen, sekä proseduurien luonti- ja virheenkorjaustyökaluihin. Microsoftin tukihenkilöt voivat auttaa selvittämään tietyn proseduurin toiminnallisuutta, mutta he eivät muokkaa näitä esimerkkejä parantamaan yksittäisen tarpeen toiminnallisuutta eivätkä luo siihen proseduureja. Voit ratkaista tämän ongelman lisäämällä paikallisen:=true-parametrin VBA-makroon seuraavan esimerkin mukaisesti:

Sub test()

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

End Sub