von linus » Mi, 01.09.2004 20:12
Hallo,
leider komme ich nicht ganz zurecht. Hier ist mein Testprogramm:
an welcher stelle im Programm muss ich append oder setcurrentfilter setzen. damit zum die .sxc zum speichern default gesetzt wird?
Bei der Funktion getafile wäre es auch schön, wenn nur Textfiles zur Auswahl stehen. Kann ich da auch irgendwie den Filter setzen?
Sub testprogramm
Dim mFileProperties(1) As New com.sun.star.beans.PropertyValue
Dim sUrl As String
dim sheet as object
dim doc as object
dim cell as object
mFileProperties(0).Name = "FilterName"
mFileProperties(0).Value = "scalc: Text - txt - csv (StarCalc)"
mFileProperties(1).Name = "FilterFlags"
mFileProperties(1).Value = "9,34,SYSTEM,1,1/1/1/1/1/1/1/1"
oDesktop = createUNOService("com.sun.star.frame.Desktop")
oDocument = oDesktop.loadComponentFromURL(getafilename,"_blank",0, mFileProperties())
Doc = thisComponent
DocUrl = doc.URL
DocUrl = Left(DocUrl,Len(DocUrl)-4) & ".sxc"
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args51(2) as new com.sun.star.beans.PropertyValue
args51(0).Name = "url"
args51(0).Value = docurl
args51(1).Name = "FilterName"
args51(1).Value = "StarOffice XML (Calc)"
args51(2).Name = "InteractionHandler"
args51(2).Value = ""
dispatcher.executeDispatch(document, ".uno:Saveas", "", 0, args51())
end sub
Function GetAFileName(Filternames()) As String
Dim oFileDialog as Object
Dim iAccept as Integer
Dim sPath as String
Dim InitPath as String
Dim RefControlName as String
Dim oUcb as object
Dim ListAny(0)
oFileDialog = CreateUnoService("com.sun.star.ui.dialogs.FilePicker")
oUcb = createUnoService("com.sun.star.ucb.SimpleFileAccess")
ListAny(0) = com.sun.star.ui.dialogs.TemplateDescription.FILEOPEN_SIMPLE
oFileDialog.initialize(ListAny())
initpath = "file:///d:/"
If InitPath = "" Then
InitPath = GetPathSettings ("file:///d:/")
End If
If oUcb.Exists(InitPath) Then
oFileDialog.SetDisplayDirectory(InitPath)
End If
iAccept = oFileDialog.Execute()
If iAccept = 1 Then
sPath = oFileDialog.Files(0)
GetAFileName = sPath
End If
oFileDialog.Dispose()
End Function
Hallo,
leider komme ich nicht ganz zurecht. Hier ist mein Testprogramm:
an welcher stelle im Programm muss ich append oder setcurrentfilter setzen. damit zum die .sxc zum speichern default gesetzt wird?
Bei der Funktion getafile wäre es auch schön, wenn nur Textfiles zur Auswahl stehen. Kann ich da auch irgendwie den Filter setzen?
Sub testprogramm
Dim mFileProperties(1) As New com.sun.star.beans.PropertyValue
Dim sUrl As String
dim sheet as object
dim doc as object
dim cell as object
mFileProperties(0).Name = "FilterName"
mFileProperties(0).Value = "scalc: Text - txt - csv (StarCalc)"
mFileProperties(1).Name = "FilterFlags"
mFileProperties(1).Value = "9,34,SYSTEM,1,1/1/1/1/1/1/1/1"
oDesktop = createUNOService("com.sun.star.frame.Desktop")
oDocument = oDesktop.loadComponentFromURL(getafilename,"_blank",0, mFileProperties())
Doc = thisComponent
DocUrl = doc.URL
DocUrl = Left(DocUrl,Len(DocUrl)-4) & ".sxc"
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args51(2) as new com.sun.star.beans.PropertyValue
args51(0).Name = "url"
args51(0).Value = docurl
args51(1).Name = "FilterName"
args51(1).Value = "StarOffice XML (Calc)"
args51(2).Name = "InteractionHandler"
args51(2).Value = ""
dispatcher.executeDispatch(document, ".uno:Saveas", "", 0, args51())
end sub
Function GetAFileName(Filternames()) As String
Dim oFileDialog as Object
Dim iAccept as Integer
Dim sPath as String
Dim InitPath as String
Dim RefControlName as String
Dim oUcb as object
Dim ListAny(0)
oFileDialog = CreateUnoService("com.sun.star.ui.dialogs.FilePicker")
oUcb = createUnoService("com.sun.star.ucb.SimpleFileAccess")
ListAny(0) = com.sun.star.ui.dialogs.TemplateDescription.FILEOPEN_SIMPLE
oFileDialog.initialize(ListAny())
initpath = "file:///d:/"
If InitPath = "" Then
InitPath = GetPathSettings ("file:///d:/")
End If
If oUcb.Exists(InitPath) Then
oFileDialog.SetDisplayDirectory(InitPath)
End If
iAccept = oFileDialog.Execute()
If iAccept = 1 Then
sPath = oFileDialog.Files(0)
GetAFileName = sPath
End If
oFileDialog.Dispose()
End Function