Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1664to1668
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

Publish-Command gelegentlich verweigert

Publish-Command gelegentlich verweigert
10.01.2019 12:39:47
Burak
Moin,
also diesmal habe ich ein etwas anderes Problem und weiß nicht, inwieweit ihr mir da helfen könnt, da es evtl über Excel hinaus geht.
Also wir haben eine Excel-Datei aufm Server, welche sich halbstündig aktuelle Informationen aus Datenbanken zieht und die Tabelle aktualisiert.
Jetzt sollen einige dieser Informationen rausgefiltert und für einen anderen Rechner zur Verfügung gestellt werden.
Dieser Rechner besitzt keine MS Office, kein Open Office und kein Adobe Reader.
Daher bin ich dazu übergegangen es alt HTML-Datei zu speichern, da der Rechner einen Internet-Explorer besitzt.
Nach dem Filtern benutze ich zum Speichern folgenden Code:
With ActiveWorkbook.PublishObjects.Add(xlSourceRange, _
"P:\QDM\qnbestand\Bohmeyer\Sequenz.htm", "html", _
"$A$1:$F$" & zeilen, xlHtmlStatic, "f100qnbestand_Systembetreuer_13666", "")
.Publish (True)
.AutoRepublish = True
End With
Zuerst dachte ich alles gut und schön, es funktioniert. Im Laufe des Tages, habe ich aber des Öfteren festgestellt, dass er irgendwann beim Ausführen des Makros einen Fehler bekommt.
Ungefähr:
Die Methode 'Publish' des Objektes 'PublishObject' ist fehlgeschlagen.
Das Problem löst sich sofort, wenn ich den Zieldateinamen (Sequenz.htm) ändere, aber meist nur für eine gewisse Zeit.
Meine erste Vermutung war, dass, wenn die Datei an einem anderen Rechner geöffnet ist, er diese Datei nicht überschreiben kann, aber nachdem ich genau das ausgetestet habe, schien es keine Probleme zu geben.
Wenn wir jedoch von dem Fall ausgehen, dass es daran liegt, dass die Datei im Internet Explorer irgendwo geöffnet ist, gibt es eine Möglichkeit die Datei trotzdem zu überschreiben?
Das Ziel ist es eigentlich die Datei an dem Zielrechner dauerhaft offen zu lassen und nur per Seitenaktualisierung den Inhalt im Browser zu aktualisieren.
PS: kann mir jmd. den Publish- und Autopublish-Befehl für Dumme erklären?
Liebe Grüße
Burak

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Publish-Command gelegentlich verweigert
10.01.2019 14:17:33
PeterK
Hallo
Ich vermute das es doch zu einer "Running Condition" kommt, d.h. das File ist kurzzeitig gelocked um es einzulesen und genau in diesem Moment wird versucht es zu überschreiben. Du kannst den Fehler nur "abfangen" und es nochmals versuchen z.B.

For i= 1 to 5 ' maximal 5 Versuche
on error goto WARTE
With ActiveWorkbook.PublishObjects.Add(xlSourceRange, _
"P:\QDM\qnbestand\Bohmeyer\Sequenz.htm", "html", _
"$A$1:$F$" & zeilen, xlHtmlStatic, "f100qnbestand_Systembetreuer_13666", "")
.Publish (True)
.AutoRepublish = True
End With
on error goto 0 ' Fehlerbehandlung ausschalten
Exit for
WARTE:
Application.Wait(Now + TimeValue("0:00:01")) ' warte 1 Sekunde
next i

Anzeige
AW: Publish-Command gelegentlich verweigert
10.01.2019 14:27:48
Burak
ok das klingt gut, füge es ein und gebe morgen Bescheid, danke erstmal :*
AW: Publish-Command gelegentlich verweigert
10.01.2019 15:01:19
Nepumuk
Hallo Burak,
in der Prozedur fehlt etwas entscheidendes:
Public Sub Test()
    Dim i As Long
    Dim zeilen As Long
    zeilen = 10
    On Error GoTo warte
    For i = 1 To 5 ' maximal 5 Versuche
        With ActiveWorkbook.PublishObjects.Add(xlSourceRange, _
                "P:\QDM\qnbestand\Bohmeyer\Sequenz.htm", "html", _
                "$A$1:$F$" & zeilen, xlHtmlStatic, "f100qnbestand_Systembetreuer_13666", "")
            .Publish (True)
            .AutoRepublish = True
        End With
        Exit For
        warte:
        Application.Wait (Now + TimeValue("0:00:01")) ' warte 1 Sekunde
        Resume weiter
        weiter:
    Next i
    On Error GoTo 0 ' Fehlerbehandlung ausschalten
End Sub

Ohne Resume .. läufst du beim nächsten fehlerhaften Versuch in einen Laufzeitfehler da die Fehlerbehandlung nicht abgeschlossen ist.
Gruß
Nepumuk
Anzeige
Danke für die Korrektur (owT)
11.01.2019 10:35:17
PeterK

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige