Hallo, ich habe mir die Lösung des Problem fast erarbeitet. Das Einzige, was ich nicht hin bekomme ist, das Excel die erstellte Datei als Vorlage öffnet und nicht als "Gespeichertes Dokument".
Hier ist mein Quellcode um das erstellte Makro zu speichern und mit Excel 2010 zu öffnen.
Wobei oDoc an einer anderen stelle erstellt und bearbeitet wurde.
Code: Alles auswählen
Sub AngeboteV2_DokumentSpeichern
dim arg(0) as new com.sun.star.beans.PropertyValue
arg(0).Name = "FilterName"
arg(0).Value = "MS Excel 97"
Dim sURL as String
Dim sDateiName as String
sDateiName = "AngebotV2Temp.xls"
TempSpeicherPfad = ConvertToURL(environ("temp") & "/" & sDateiname
oDoc.storeToURL(TempSpeicherPfad, arg())
oDoc.close(True)
Speicherpfad = environ("temp") & "/" & "AngebotV2Temp.xls "
On Error goTo Office2010
shell("C:\Programme\Microsoft Office\Office12\EXCEL.EXE " & Speicherpfad)
Exit Sub
Office2010:
On Error GoTo OpenOffice
shell("C:\Programme\Microsoft Office\Office14\EXCEL.EXE " & Speicherpfad)
Exit Sub
OpenOffice:
shell("C:\Programme\OpenOffice.org 3\program\scalc.exe " & Speicherpfad)
End Sub
Geht es das er mir das Dokument in Excel als Vorlage öffnet, damit der Benutzer es neu Speichern MUSS.
Der Teil mit der Unterscheidung welche Office Version auf dem Rechner ist, geht auch noch nicht.
Hier die Lösung des Problems (Wird wohl auch mit Word oder PowerPoint funktionieren, wenn man es anpasst.
(Nur für Windows Systeme)
Code: Alles auswählen
Sub AngeboteV2_DokumentSpeichern
dim arg(0) as new com.sun.star.beans.PropertyValue
arg(0).Name = "FilterName"
arg(0).Value = "MS Excel 97 Vorlage/Template"
Dim sURL as String
Dim sDateiName as String
sDateiName = "AngebotV2Temp.xls"
TempSpeicherPfad = ConvertToURL(environ("temp") & "/" & sDateiname
oDoc.storeToURL(TempSpeicherPfad, arg())
Speicherpfad = environ("temp") & "/" & "AngebotV2Temp.xls"
If FileExists("C:\Programme\Microsoft Office\Office14\EXCEL.EXE") Then 'Office 2010
oDoc.close(True)
Set oExcel = CreateObject("Excel.Application")
oExcel.visible = true
oExcel.Workbooks.Add(Speicherpfad)
'shell("C:\Programme\Microsoft Office\Office14\EXCEL.EXE " & Speicherpfad)
Exit Sub
ElseIf FileExists("C:\Programme\Microsoft Office\Office12\EXCEL.EXE") Then 'Office 2007
oDoc.close(True)
Set oExcel = CreateObject("Excel.Application")
oExcel.visible = true
oExcel.Workbooks.Add(Speicherpfad)
'shell("C:\Programme\Microsoft Office\Office12\EXCEL.EXE " & Speicherpfad)
Exit Sub
Else
oDoc.getCurrentController.getFrame.getContainerWindow().setVisible(true) 'OpenOffice
End If
End Sub
Hallo, ich habe mir die Lösung des Problem fast erarbeitet. Das Einzige, was ich nicht hin bekomme ist, das Excel die erstellte Datei als Vorlage öffnet und nicht als "Gespeichertes Dokument".
Hier ist mein Quellcode um das erstellte Makro zu speichern und mit Excel 2010 zu öffnen.
Wobei oDoc an einer anderen stelle erstellt und bearbeitet wurde.
[code]
Sub AngeboteV2_DokumentSpeichern
dim arg(0) as new com.sun.star.beans.PropertyValue
arg(0).Name = "FilterName"
arg(0).Value = "MS Excel 97"
Dim sURL as String
Dim sDateiName as String
sDateiName = "AngebotV2Temp.xls"
TempSpeicherPfad = ConvertToURL(environ("temp") & "/" & sDateiname
oDoc.storeToURL(TempSpeicherPfad, arg())
oDoc.close(True)
Speicherpfad = environ("temp") & "/" & "AngebotV2Temp.xls "
On Error goTo Office2010
shell("C:\Programme\Microsoft Office\Office12\EXCEL.EXE " & Speicherpfad)
Exit Sub
Office2010:
On Error GoTo OpenOffice
shell("C:\Programme\Microsoft Office\Office14\EXCEL.EXE " & Speicherpfad)
Exit Sub
OpenOffice:
shell("C:\Programme\OpenOffice.org 3\program\scalc.exe " & Speicherpfad)
End Sub
[/code]
Geht es das er mir das Dokument in Excel als Vorlage öffnet, damit der Benutzer es neu Speichern MUSS.
Der Teil mit der Unterscheidung welche Office Version auf dem Rechner ist, geht auch noch nicht.
[b][u][color=#008000]Hier die Lösung des Problems[/color][/u][/b] (Wird wohl auch mit Word oder PowerPoint funktionieren, wenn man es anpasst.
(Nur für Windows Systeme)
[code]
Sub AngeboteV2_DokumentSpeichern
dim arg(0) as new com.sun.star.beans.PropertyValue
arg(0).Name = "FilterName"
arg(0).Value = "MS Excel 97 Vorlage/Template"
Dim sURL as String
Dim sDateiName as String
sDateiName = "AngebotV2Temp.xls"
TempSpeicherPfad = ConvertToURL(environ("temp") & "/" & sDateiname
oDoc.storeToURL(TempSpeicherPfad, arg())
Speicherpfad = environ("temp") & "/" & "AngebotV2Temp.xls"
If FileExists("C:\Programme\Microsoft Office\Office14\EXCEL.EXE") Then 'Office 2010
oDoc.close(True)
Set oExcel = CreateObject("Excel.Application")
oExcel.visible = true
oExcel.Workbooks.Add(Speicherpfad)
'shell("C:\Programme\Microsoft Office\Office14\EXCEL.EXE " & Speicherpfad)
Exit Sub
ElseIf FileExists("C:\Programme\Microsoft Office\Office12\EXCEL.EXE") Then 'Office 2007
oDoc.close(True)
Set oExcel = CreateObject("Excel.Application")
oExcel.visible = true
oExcel.Workbooks.Add(Speicherpfad)
'shell("C:\Programme\Microsoft Office\Office12\EXCEL.EXE " & Speicherpfad)
Exit Sub
Else
oDoc.getCurrentController.getFrame.getContainerWindow().setVisible(true) 'OpenOffice
End If
End Sub
[/code]