Stránka 1 z 1

Nastavení formátu data při exportu do txt

Napsal: 22 lis 2011 12:02
od David7
Dobrý den,
v jedné složce mám *.csv soubory obsahující 6 sloupců dat (1. sloupec obsahuje datum) a textový dokument "seznam.txt", obsahující názvy těchto csv souboru.

CSV soubory upravuji a ukládám (exportuji) do jednotlivých txt dokumentů. Ukládám pouze první sloupec obsahující datum a potom pátý sloupec - data jsou oddělená středníkem.

Problém je s ukládáním datumu ve správném formátu. Ať v excelu u datumu před exportem nastavím libovolný formát data, tak ve výsledném txt je vždy datum uloženo ve formátu dle místního jazykového nastavení počítače.

Data v txt potřebuji ve formátu dd-mm-yyyy a ne ve formátu s tečkou.
Jde do kódu doplnit nějaká proměnná, abych před spuštěním makra nemusel upravovat formát data v "místním jazykovém nastavení" PC?

Děkuji

Zde je kód:

Kód: Vybrat vše


Sub UpracaCSV()

   Dim fso
   Dim mySheet As Worksheet
     
   Set fso = CreateObject("Scripting.FileSystemObject")
 
   Set objsoubor2 = fso.OpenTextFile(ThisWorkbook.Path & "\" & "seznam.txt", 1, True, -2)
   
      Dim Radka As String
      Dim i, j, k, l
      Dim Seznam(1000, 1)
   
   j = 1
   
 With objsoubor2
     
   Do While Not (objsoubor2.AtEndOfStream)
     
     Radka = .ReadLine
     
     Seznam(j, 1) = Radka
     
     j = j + 1
     
   Loop
     
 End With
   
 objsoubor2.Close

 For k = 1 To j - 1
 
 'smazani dat
 Range("A1:B1").Select
 Range(Selection, Selection.End(xlDown)).Select
 Selection.ClearContents
 Range("A1").Select
   
 Set objsoubor4 = fso.OpenTextFile(ThisWorkbook.Path & "\" & Seznam(k, 1) & ".csv", 1, True, -2)

  i = 1
   
 With objsoubor4
     
   Do While Not (objsoubor4.AtEndOfStream)
     
     Radka = .ReadLine
     
     Cells(i, 1) = Radka
     
     i = i + 1
     
   Loop
     
 End With
   
 objsoubor4.Close
 
    Range(Selection, Selection.End(xlDown)).Select
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
        :=Array(Array(1, 4), Array(2, 9), Array(3, 9), Array(4, 9), Array(5, 9), Array(6, 9), _
        Array(7, 1)), TrailingMinusNumbers:=True
   
    Range("A1").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.NumberFormat = "dd-mm-yyyy;@"

    'nazev sloupce podle nazvu souboru   
    Cells(1, 2) = Seznam(k, 1)   
   
    'pocet radku
    Range("A1").Select
    Range("A1", Selection.End(xlDown)).Select
    myCount = Selection.Rows.Count

    Set objsoubor3 = fso.OpenTextFile(ThisWorkbook.Path & "\" & Seznam(k, 1) & ".txt", 2, True, -2)

    With objsoubor3
       
    For l = 1 To myCount
     
    .WriteLine Cells(l, 1) & ";" & Cells(l, 2)
         
    Next l
   
    End With
   
    objsoubor3.Close
   
    Next k
   
End Sub

Re: Nastavení formátu data při exportu do txt

Napsal: 22 lis 2011 17:29
od guest
Podívejte se, jak používat schema.ini v souvislosti s CSV:

http://msdn.microsoft.com/en-us/library ... 53(v=vs.85).aspx