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