Seite 1 von 1
Speicher einer Datei als Excel 2000 .xls file
Verfasst: Do, 05.08.2004 11:51
von as13
Hi Leute,
ich würde gerne eine Datei als xls file abspeichern.
mein problem, ich schreibe ein VBScript und es klappt nicht ganz so mit den PropertyValues. Irgendwie schnall ich des mit den PropertyValues nicht.
Ich hab keine Probleme es als sxc file zu speicher.
Wäre Super, wenn mir einer kurz nen Quelltext herzaubern könnte!
THX
Verfasst: Do, 05.08.2004 14:16
von Stephan
ich schreibe ein VBScript
...
Ich hab keine Probleme es als sxc file zu speicher.
Ich habe das noch nie mit VBS versucht,
kannst Du mal den Code posten?
So wäre das in StarBasic:
Code: Alles auswählen
Sub Excel_Export
Dim Dokument as Object
Dim sUrl as String
Dim sFilterName as String
Dim exportEigenschaften(0) as _
New com.sun.star.beans.PropertyValue
Dokument = ThisComponent
' Pfad für Export
sUrl = ConvertToUrl( "D:\test1.xls" )
If Dokument.supportsService( _
"com.sun.star.sheet.SpreadsheetDocument" ) then
sFilterName = "MS Excel 97"
Msgbox ""
Else
MsgBox "Kein Tabellendokument"
Exit Sub
End If
exportEigenschaften(0).Name = "FilterName"
exportEigenschaften(0).Value = sFilterName
'Dokument speichern und im Calc-Fenster anzeigen
Dokument.storeAsURL( sUrl , exportEigenschaften() )
'oder:
'Dokument speichern und Calc-Fenster belassen wie vorher
'
'Dokument.storeToURL( sUrl , exportEigenschaften() )
End Sub
Gruß
Stephan
Verfasst: Do, 05.08.2004 18:59
von Stephan
Code: Alles auswählen
'===============================================================
' Calc-Dokument erzeugen, Werte eintragen, als *.xls speichern
' Sprache: VBScript Datum: 05.08.2004
'===============================================================
Set ser_man = WScript.CreateObject("com.sun.star.ServiceManager")
Set desk = ser_man.createInstance("com.sun.star.frame.Desktop")
Dim no_arg()
Set Doc = desk.loadComponentFromURL("private:factory/scalc", "_blank", 0, no_arg)
Set sheet = Doc.getSheets().getByIndex(0)
Call sheet.getCellByPosition(0, 0).SetFormula("Zelle A1")
Call sheet.getCellByPosition(1, 0).SetFormula("Zelle B1")
Call sheet.getCellByPosition(2, 0).SetFormula("Zelle C1")
Dim sich_arg(0)
Set sich_arg(0) = ser_man.Bridge_GetStruct("com.sun.star.beans.PropertyValue")
sich_arg(0).Name = "FilterName"
sich_arg(0).Value = "MS Excel 97"
Doc.storeToURL "file:///d:/calc_to_excel.xls", sich_arg
Doc.close(true)
Stephan
Verfasst: Fr, 06.08.2004 08:28
von as13
Jupp!
Es klappt!
THX
as13