von ykcim » Mo, 06.04.2009 14:51
Hallo,
ich habe so ein Makro mal vor einiger Zeit gebraucht. Bei Speichern als Html kann man leider das Arbeitsblatt nicht auswählen. Wenn in dem Arbeitsblatt keine Verknüpfungen mit Zellen anderer Arbeitsblätter sind, kann man einfach alle anderen Blätter löschen und das das letzte dann als HTML speichern.
Das Makro macht dies:
Code: Alles auswählen
Sub AktBlattAlsHtmlSpeichern
myDoc = thisComponent
' Das Dokument erst noch enmal speichern
myDoc.store()
'name zum öffnen
orgdateiurl=myDoc.url
'Blattname
osheet=mydoc.currentcontroller.activesheet
aktname=osheet.name
' Blätter löschen
m=mydoc.Sheets.count-1
for mm=m to 0 step -1
sheet=mydoc.Sheets.getByIndex(mm)
sheetname=sheet.name
if sheetname<>"aktname" then
' mydoc.Sheets.removebyname(sheetname)
end if
next
Dim myProps(0) as New com.sun.star.beans.PropertyValue
sUrl= "file:///C:/"+aktname+".html"
myProps(0).Name="FilterName"
myProps(0).Value = "HTML (StarCalc)"
myDoc.storetoUrl(sUrl,myProps())
mydoc.close(false)
'Dokument löschen und nicht speichern!!!
dim myFileProp() as new com.sun.star.beans.PropertyValue
'Original-Dokument wieder öffnen
mydoc=StarDesktop.loadComponentFromURL(orgdateiurl, "_blank", 0, myFileProp() )
End Sub
Wenn in dem Arbeitsblatt Verknüpfungen sind, muß man vorher einen neues Arbeitsblatt nur mit den Inhalten erzeugen und diese dann als letztes behalten.
mfg
Michael
Hallo,
ich habe so ein Makro mal vor einiger Zeit gebraucht. Bei Speichern als Html kann man leider das Arbeitsblatt nicht auswählen. Wenn in dem Arbeitsblatt keine Verknüpfungen mit Zellen anderer Arbeitsblätter sind, kann man einfach alle anderen Blätter löschen und das das letzte dann als HTML speichern.
Das Makro macht dies:
[code]
Sub AktBlattAlsHtmlSpeichern
myDoc = thisComponent
' Das Dokument erst noch enmal speichern
myDoc.store()
'name zum öffnen
orgdateiurl=myDoc.url
'Blattname
osheet=mydoc.currentcontroller.activesheet
aktname=osheet.name
' Blätter löschen
m=mydoc.Sheets.count-1
for mm=m to 0 step -1
sheet=mydoc.Sheets.getByIndex(mm)
sheetname=sheet.name
if sheetname<>"aktname" then
' mydoc.Sheets.removebyname(sheetname)
end if
next
Dim myProps(0) as New com.sun.star.beans.PropertyValue
sUrl= "file:///C:/"+aktname+".html"
myProps(0).Name="FilterName"
myProps(0).Value = "HTML (StarCalc)"
myDoc.storetoUrl(sUrl,myProps())
mydoc.close(false)
'Dokument löschen und nicht speichern!!!
dim myFileProp() as new com.sun.star.beans.PropertyValue
'Original-Dokument wieder öffnen
mydoc=StarDesktop.loadComponentFromURL(orgdateiurl, "_blank", 0, myFileProp() )
End Sub
[/code]
Wenn in dem Arbeitsblatt Verknüpfungen sind, muß man vorher einen neues Arbeitsblatt nur mit den Inhalten erzeugen und diese dann als letztes behalten.
mfg
Michael