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

Fehler im Code?

Fehler im Code?
15.10.2008 14:02:00
Urmila
Hallo,
folgenden Code habe ich erstellt, welcher dazu dienen soll, die Tabellenblätter 2 bis 5 abzupsiechern, taucht aber immer Fehler auf:
Kann einer mir sagen was ich da falsch mache?
Dim a As String
Dim b As Integer
For b = 2 To 5
a = MsgBox("Sollen alle HTML-Sites aktualisiert abgespeichert werden?", vbYesNo, "Achtung")
If a = vbNo Then
ActiveSheet.Range("a1").Select
Else
With Sheets(b)
Sheets(b).Select
ActiveWorkbook.PublishObjects.Add(xlSourceSheet, _
"C:Test\qm_" & Sheets(b) & ".htm", "", xlHtmlStatic, _
"QM-SQL_AllinOne_22669", "").Publish (True)
End With
End If
Next b
LG
Urmila

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler im Code?
15.10.2008 16:58:21
Erich
Hallo Urmila,
da stimmten einige Parameter beim Add nicht.
MsgBox lisgfert ein Integer zurück, keinen String, also
Dim a As Integer, b As Integer
Sheets(b).Select ist überflüssig.
Sheets(b) ist ein Worksheet-Objekt - du willst hier aber den Namen des Blattes, also Sheets(b).Name.
Probier mal

With Sheets(b)
ActiveWorkbook.PublishObjects.Add(xlSourceSheet, _
"C:Test\qm_" & .Name & ".htm", _
.Name, , xlHtmlStatic, _
"QM-SQL_AllinOne_22669", "").Publish True
End With

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Fehler im Code?
16.10.2008 08:23:00
Urmila
Hallo Erich,
habe nun deinen Code eingebette, sieht Komplett so aus:
Dim a As Integer, b As Integer
For b = 2 To 5
a = MsgBox("Sollen alle HTML-Sites aktualisiert abgespeichert werden?", vbYesNo, "Achtung")
If a = vbYes Then
With Sheets(b)
ActiveWorkbook.PublishObjects.Add(xlSourceSheet, _
"C:Test\QM_" & .Name & ".htm", .Name, , xlHtmlStatic, _
"QM-SQL_AllinOne_22669", "").Publish True
End With
Else
Sheets("set").Select
End If
Next b
ActiveSheet.Range("A1").Select
Sheets("set").Select
MsgBox ("Alle Tabellenblätter wurden abgespeichert")
Da kommt aber immer eine Fehlermeldung, Fehler 1004
Die Publish-Methode wurde fehlegeschlagen sowas....
Was stimmt da nicht?
LG Urmila
Anzeige
AW: Fehler im Code?
16.10.2008 09:04:11
Erich
Hallo Urmila,
nei mir läuft der Code - angepasst - fehlerfrei.
Zwei mögliche Fehlerquellen:
- Hast du das Schreibrecht für das Verzeichnis C:\Test ?
- Wie heißen deine Tabellenblätter? Enthalten die Blattnamen vielleicht Zeichen, die in Dateinamen unzulässig sind?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Fehler im Code?
16.10.2008 09:20:19
Urmila
Hi Erich,
weder noch, Pfad existiert, keine Sonderzeichen
Könntest du mal deine Mappe uploaden, kann sein dass dann geht, wäre echt nett von dir...
Lg
Urmila
AW: Fehler bei PublishObjects
16.10.2008 16:43:04
Erich
Hallo Urmila,
jetzt hab ich das mal - nicht angepasst - mit C:\Test versucht, und bekam: Fehler 1004.
Die Ursache ist recht banal:
Das Verzeichnis, in das du die htm-Dateien schreiben willst, heißt C:\Test - nicht C:Test -,
im Code fehlt umgekehrte Schrägstrich nach dem Doppelpunkt.
Ich denke, eine Beispielmappe ist jetzt nicht mehr nötig... ;-))
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort und: Schönes Wochenende!
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige