AW: Malro: Speichern unter mit relativem Pfad?
29.05.2016 11:19:04
fcs
Hallo Ralf,
den Pfad/Dateinamen musst du beim 1. Veröffentlichen der Excelblätter festlegen.
Der Pfad/Dateiname wird dabei auch in der Exceldatei gespeichert.
Bei der Aktualisierung der veröffentlichten Dateien ist dann "nur" noch die DivID erforderlich.
Gruß
Franz
Sub Fieber_HTML_Objekte_anlegen()
' Fieber Makro
' Legt die zu veröffentlichenden Objekte an und speichert die Dateien
' Tastenkombination: Strg+f
Dim strPath As String
strPath = ThisWorkbook.Path 'Verzeichnis der Datei mit diesem Makro
' strPath = activeWorkbook.Path 'Verzeichnis der aktiven Arbeitsmappe
If strPath = "" Then
MsgBox "Diese Datei wurde noch nicht gespeichert!" & vbLf & vbLf _
& "Bitte diese Datei erst speichern, dann das Makro ausführen!", _
vbInformation + vbOKOnly, "Makro - Fieber"
Exit Sub
End If
If MsgBox("Blätter dieser Datei als HTML-Datei speichern?", _
vbQuestion + vbOKCancel, "Makro - Fieber") = vbCancel Then Exit Sub
strPath = strPath & Application.PathSeparator & "homepage"
If Dir(strPath, vbDirectory) = "" Then
VBA.MkDir strPath
End If
strPath = strPath & Application.PathSeparator & "Fieber"
If Dir(strPath, vbDirectory) = "" Then
VBA.MkDir strPath
End If
Sheets("Antizipator").Select
With ActiveWorkbook.PublishObjects.Add(SourceType:=xlSourceSheet, _
Filename:=strPath & Application.PathSeparator & "wm_28237.htm", _
Sheet:="Antizipator", _
HtmlType:=xlHtmlStatic, DivID:="wm_28237", Title:="Antizipator")
.Publish (False)
.AutoRepublish = False
End With
Sheets("Mama Muh").Select
With ActiveWorkbook.PublishObjects.Add(SourceType:=xlSourceSheet, _
Filename:=strPath & Application.PathSeparator & "wm_26775.htm", _
Sheet:="Mama Muh", _
HtmlType:=xlHtmlStatic, DivID:="wm_26775", Title:="Mama Muh")
.Publish (False)
.AutoRepublish = False
End With
End Sub
Sub Fieber_HTML_Objekte_aktualisieren()
'Aktualisiert die Dateien der bereits veröffentlichten HTML-Objekte
If MsgBox("Sollen die veröffentlichten HTML-Objekte aktualisiert werden?", _
vbQuestion + vbOKCancel, _
"Aktualisierung veröffentlichter Objekte") = vbCancel Then Exit Sub
With ActiveWorkbook.PublishObjects("wm_28237")
.Publish (False)
.AutoRepublish = False
End With
With ActiveWorkbook.PublishObjects("wm_26775")
.Publish (False)
.AutoRepublish = False
End With
End Sub
Sub Fieber_HTML_Objekte_loeschen()
'Loescht alle veröffentlichten HTML-Objekte in der aktiven Mappe
Dim objPO As PublishObject
If MsgBox("Sollen die veröffentlichten Objekte in dieser Mappe gelöscht werden?", _
vbQuestion + vbOKCancel, _
"Löschen veröffentlichte Objekte") = vbCancel Then Exit Sub
For Each objPO In ActiveWorkbook.PublishObjects
objPO.Delete
Next
End Sub