I den makro jeg har brugt som demonstration, og hvor vi indlæste CSV-filen linje for linje, så vi denne "krølle":
If c=0 Then
t= split(s, "-", 3)
s=DateSerial(t(2), t(1), t(0))
End if
my_cell.Value=s
Du kan læse artiklen her: http://libreofficedk.blogspot.dk/2016/10/indlse-en-fil-linje-for-linje-makro.html
Forklaring:
s er den tekst vi modtager fra CSV-filen, og vi ved at formatet er i tekstformatet "dd-mm-åååå". Hvis vi indsætter teksten som streng (my_cell.String=s) vil indholdet af cellen få tekstformat og hvis vi indsætter teksten som en værdi (my_cell.Value=s) vil indholdet blive fortolket og omsat til et mere eller mindre tilfældig heltal (muligvis en intern datoværdi).
Vi bliver altså nødt til at fortolke tekststrengen og splitte den op i flere elementer. Kommandoen kunne lyde: Split tekststrengen op i tre dele, hvor "-" er adskiller:
split(s, "-", 3)
Du kan læse mere om Split-funktionen her: https://help.libreoffice.org/Basic/Split_Function_Runtime/da
Sæt derefter de tre dele sammen til en datoværdi:
DateSerial(t(2), t(1), t(0))
Du kan læse mere om DateSerial-funktionen her: https://help.libreoffice.org/Basic/DateSerial_Function_Runtime/da