Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1492to1496
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Malro: Speichern unter mit relativem Pfad?

Malro: Speichern unter mit relativem Pfad?
29.05.2016 08:16:20
Ralf
Hallo,
ich habe noch ein Problem mit meiner Tipp - Tabelle:
In einem Makro möchte ich mehrere Arbeitsblätter als htm - Datei in einem bestimmte Unterordner speichern. Von der xlsm - Datei aus gesehen liegt dieser in
\homepage\Fieber
Ich habe ein Beispiel - Makro aufgezeichnet. Dies funktioniert aber nur mit dem absoluten Pfad. _ Im Makro selbst gibt es keine Pfadangaben.

Sub Fieber()
' Fieber Makro
' Tastenkombination: Strg+f
ActiveWindow.ScrollWorkbookTabs Sheets:=-1
ActiveWindow.ScrollWorkbookTabs Sheets:=-1
ActiveWindow.ScrollWorkbookTabs Sheets:=-1
ActiveWindow.ScrollWorkbookTabs Sheets:=-1
ActiveWindow.ScrollWorkbookTabs Sheets:=-1
ActiveWindow.ScrollWorkbookTabs Sheets:=-1
ActiveWindow.ScrollWorkbookTabs Sheets:=-1
ActiveWindow.ScrollWorkbookTabs Sheets:=-1
ActiveWindow.ScrollWorkbookTabs Sheets:=-1
ActiveWindow.ScrollWorkbookTabs Sheets:=-1
ActiveWindow.ScrollWorkbookTabs Sheets:=-1
ActiveWindow.ScrollWorkbookTabs Sheets:=-1
Sheets("Antizipator").Select
With ActiveWorkbook.PublishObjects("wm_28237")
.Publish (False)
.AutoRepublish = False
End With
Sheets("Mama Muh").Select
With ActiveWorkbook.PublishObjects("wm_26775")
.Publish (False)
.AutoRepublish = False
End With

Wie kann ich denn relative Pfade einfgen? Einfach mit "ThisWorkbook.path?
Gruß
Ralf

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Malro: Speichern unter mit relativem Pfad?
29.05.2016 08:42:32
Nepumuk
Hallo,
teste mal:
Option Explicit

Public Sub HTM_Speichern()
    Dim objPublishObject As PublishObject
    Set objPublishObject = ThisWorkbook.PublishObjects.Add( _
        SourceType:=xlSourceSheet, Filename:=ThisWorkbook.Path & _
        "\homepage\Fieber\wm_28237.htm", Sheet:="Antizipator")
    With objPublishObject
        Call .Publish(Create:=False)
        .AutoRepublish = False
    End With
    Set objPublishObject = ThisWorkbook.PublishObjects.Add( _
        SourceType:=xlSourceSheet, Filename:=ThisWorkbook.Path & _
        "\homepage\Fieber\wm_26775.htm", Sheet:="Mama Muh")
    With objPublishObject
        Call .Publish(Create:=False)
        .AutoRepublish = False
    End With
    Set objPublishObject = Nothing
End Sub

Gruß
Nepumuk

Anzeige
AW: Malro: Speichern unter mit relativem Pfad?
29.05.2016 15:01:48
Ralf
Hallo
und Danke für deine Hilsbereitschaft.
Ich habe dein Makro getestet. Leider bekomme ich folgende Fehlermeldung:
Laufzeitfehler '1004': Anwendungs- oder objektdefinierter Fehler
Klicke ich auf Debuggen, wird mir folgender Teil gelb unterlegt:
Set objPublishObject = ThisWorkbook.PublishObjects.Add( _
SourceType:=xlSourceSheet, Filename:=ThisWorkbook.Path & _
"\homepage\Fieber\wm_28237.htm", Sheet:="Antizipator")
Hast du noch einen Tipp?

AW: Malro: Speichern unter mit relativem Pfad?
29.05.2016 15:39:32
Nepumuk
Hallo,
kann ich nicht nachvollziehen. Lade mal eine Kopie der Mappe ohne Daten darin hoch.
Gruß
Nepumuk

Anzeige
AW: Malro: Speichern unter mit relativem Pfad?
29.05.2016 17:22:43
Ralf
Hallo,
ich würde die Datei gerne hochladen, sie ist allerdings 19 MB groß...
Ich weiß auch nicht warum, außer ein paar Formeln zur Punkteberechnung und den Diagrammen ist nichts drin, also keine eingefügten Bilder oder sowas.
Ich könnte die Datei bei share-online.biz uploaden, wenn das recht ist.
Noch eine Frage: Wie kommst du auf den Dateinamen wm_28237.htm? Weil das in meinem Makro drinstand, nehme ich an.
Bei mir heißt die Datei aber antizipator.htm. Dazu gibt es noch einen Unterordner antizipator-Dateien.
Muss das noch in dein Makro mit eingebaut werden?
Gruß,
Ralf

Anzeige
AW: Malro: Speichern unter mit relativem Pfad?
29.05.2016 17:36:11
Nepumuk
Hallo,
wie du deine Datei benennst bleibt dir überlassen. Und klar kannst du die Datei auch auf einem Filesharer hochladen.
Gruß
Nepumuk

AW: Malro: Speichern unter mit relativem Pfad?
29.05.2016 19:13:24
Ralf
Hallo,
habe meine Datei jetzt hochgeladen.
http://www.share-online.biz/dl/2TWN7Y7O2SE

Die Daten sind noch drin, das ist Absicht, weil nicht sensitiv.
Gruß
Ralf

AW: Malro: Speichern unter mit relativem Pfad?
29.05.2016 19:20:48
Nepumuk
Hallo,
ich kann die Datei leider nicht herunterladen da mein Browser die Seite als unsicher einstuft und ich nicht weiß wie ich das umgehen könnte.
Gruß
Nepumuk

Anzeige
AW: Malro: Speichern unter mit relativem Pfad?
29.05.2016 19:36:04
Ralf
Hmm, das kann man normalerweise ignorieren und die Seite trotzdem aufrufen. Bei Firefox ist der Knopf sehr klein und gut versteckt, aber vorhanden.
Unsicher ist die Seite wohl eher nicht, eher bei einigen Leuten unbeliebt...
Gruß
Ralf

AW: Malro: Speichern unter mit relativem Pfad?
29.05.2016 19:46:18
Nepumuk
Hallo,
die Seite selbst wird nicht blockiert, nur der Download.
Gruß
Nepumuk

AW: Malro: Speichern unter mit relativem Pfad?
29.05.2016 19:58:05
Ralf
Hmm,
vielleicht hilft es, wenn du unter "Download starten" auf
"(zum langsamen, verschlüsselten Download wechseln)" klickst.
Ansonsten per email oder - falls vorhanden - auf deinen ftp - Server...
Gruß
Ralf

Anzeige
AW: Makro: Speichern unter mit relativem Pfad?
29.05.2016 20:07:14
Nepumuk
Hallo,
per Mail an: kaffl.max at web.de
Gruß
Nepumuk

AW: Makro: Speichern unter mit relativem Pfad?
29.05.2016 20:09:13
Ralf
Hallo,
der Scheck ist in der Post.

AW: Makro: Speichern unter mit relativem Pfad?
30.05.2016 11:53:02
Nepumuk
Hallo,
du hättest schreiben sollen das sich ein Diagramm in der Tabelle befindet.
Option Explicit

Public Sub HTM_Speichern()
    Dim objPublishObject As PublishObject
    Dim strPath As String
    strPath = ThisWorkbook.Path & "\homepage\Fieber\"
    Set objPublishObject = ThisWorkbook.PublishObjects.Add( _
        SourceType:=xlSourceChart, Filename:=strPath & _
        "Antizipator.htm", Sheet:="Antizipator")
    With objPublishObject
        Call .Publish(Create:=False)
        .AutoRepublish = False
    End With
    Set objPublishObject = ThisWorkbook.PublishObjects.Add( _
        SourceType:=xlSourceChart, Filename:=strPath & _
        "Mama Muh.htm", Sheet:="Mama Muh")
    With objPublishObject
        Call .Publish(Create:=False)
        .AutoRepublish = False
    End With
    Set objPublishObject = Nothing
End Sub

Gruß
Nepumuk

Anzeige
AW: Makro: Speichern unter mit relativem Pfad?
30.05.2016 17:25:31
Ralf
Hallo,
das ist ja SuperKlasse. Ein Hoch auf Nepumuk! Jetzt kann ich wieder ruhig schlafen :-)
Das mit dem Diagramm hielt ich nicht für wichtig, tut mir leid.
Interessant finde ich, dass so eine Funktion erst per Makro bemüht werden muss. Relative Pfade werden doch häufiger gebraucht.
Gruß
Ralf

AW: Makro: Speichern unter mit relativem Pfad?
30.05.2016 17:46:43
Ralf
Hallo nochmal...
Nach einigem testen habe ich herausgefunden, dass in den jeweiligen Ordnern (z.B. antizipator-Dateien) bei jedem Aufruf des Makros eine neue png - Datei gespeichert wird, die natürlich einen anderen Dateinamen hat als die vorige.
So habe ich dann aber mit meinem Batch - Upload das Problem, da dort explizit der Name der vorigen Datei eingegeben ist.
Kann man Excel noch überreden, immer den gleichen Dateinamen für das Diagramm - Bild zu verwenden?
Gruß
Ralf

Anzeige
AW: Makro: Speichern unter mit relativem Pfad?
30.05.2016 17:56:14
Nepumuk
Hallo,
du könntest vor dem Export per Makro alle Dateien im Ordner Fieber löschen.
Gruß
Nepumuk

AW: Makro: Speichern unter mit relativem Pfad?
30.05.2016 18:57:36
Ralf
Hallo,
trotz gelöschter Ordner werden jedesmal andere Dateinamen verwendet...
Vielleicht finde ich ja ein javascript, um dieses Problem zu lösen.
Gruß
Ralf

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

Anzeige
AW: Malro: Speichern unter mit relativem Pfad?
29.05.2016 15:07:22
Ralf
Hallo
und danke für deine Hilfsbereitschaft.
Ich habe meine Dateien mal auf ein anderes Laufwerk kopiert und dann das erste Makro gestartet. Es ergibt leider:
Laufzeitfehler '1004':
Anwendungs- oder objektdefinierter Fehler
Nach einem Klick auf Debuggen ist folgender Bereich gelb unterlegt:
With ActiveWorkbook.PublishObjects.Add(SourceType:=xlSourceSheet, _
Filename:=strPath & Application.PathSeparator & "wm_28237.htm", _
Sheet:="Antizipator", _
HtmlType:=xlHtmlStatic, DivID:="wm_28237", Title:="Antizipator")
Hast du noch einen Tipp?

Anzeige
AW: Malro: Speichern unter mit relativem Pfad?
30.05.2016 09:51:36
fcs
Hallo Ralf,
ich hab meine Testdatei jetzt mal auf ein anderes lokales Laufwerk kopiert (USB-Stick)
Danach konnte ich ohne Probleme das Makro starten und die Verzeichnisse und Dateien wurden auf dem anderen Laufwerk angelegt.
Es ist aber wohl ratsam, dass nach dem Kopieren der Datei in ein anderes Laufwerk/Verzeichnis erst einmal alle Veröffentlichtten Objekte in der Datei entfernt werden.
Dazu dient das 3. der von mir geposteten Makros.
Gruß
Franz

AW: Malro: Speichern unter mit relativem Pfad?
30.05.2016 17:48:50
Ralf
Hallo und Danke für deine Hilfe.
Mit Nepumuks Hilfe habe ich heute morgen feststellen können, dass meine auf den Sheets enthaltenen Diagramme für das Problem verantwortlich waren.
Gruß
Ralf

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige