Page 1 of 1

Determine csv import filter options

Posted: Sat Oct 17, 2020 6:51 pm
by ms777
... this is a repost from the old oooforum.org. It helps you if you want to automatize the csv import with non trivial import options

Good luck,

ms777

Code: Select all

Sub Main
sUrl = ConvertToUrl("C:\Users\Martin\Downloads\test.csv")
sResult = GetFilterOptionsFromCSVImportDialog(sUrl)
msgbox sResult
End Sub

function GetFilterOptionsFromCSVImportDialog(sUrl) as String
GetFilterOptionsFromCSVImportDialog = ""

oSFA = createUNOService ("com.sun.star.ucb.SimpleFileAccess") 
oInputStream = oSFA.openFileRead(sUrl) 

Dim aProps(3) as new com.sun.star.beans.PropertyValue
aProps(0).Name = "FilterOptions"
aProps(0).Value = "" 
aProps(1).Name = "URL"
aProps(1).Value = sUrl 
aProps(2).Name = "FilterName"
aProps(2).Value = "Text - txt - csv (StarCalc)"
aProps(3).Name = "InputStream"
aProps(3).Value = oInputStream

'o = createUnoService("com.sun.star.ui.dialogs.FilterOptionsDialog")
o = createUnoService("com.sun.star.comp.Calc.FilterOptionsDialog")
o.setPropertyValues(aProps())

if o.execute() = com.sun.star.ui.dialogs.ExecutableDialogResults.OK then
  aPropOut = o.getPropertyValues()
  GetFilterOptionsFromCSVImportDialog = aPropOut(0).Value
  endif
oInputStream.closeInput()
end function