Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Skript zum Abspeichern je Tabellenblatt

VBA Skript zum Abspeichern je Tabellenblatt
16.07.2008 08:41:00
Urmila
Hallo,
habe folgenden Skript zum Abspeichern für jedes Tabellenblatt ins Html bekommen:
Dim a As String
Dim lngAnzahl As Long, i As Long
lngAnzahl = Sheets.Count
For i = 1 To lngAnzahl
Sheets(i).Copy
ActiveWorkbook.SaveAs Filename:="C:\My Folder\" & ThisWorkbook.Sheets(i).Name, FileFormat:=xlHtml
ActiveWorkbook.Close
End If
End Sub

Will aber zum Speichern folgenden Skript ersetzen, taucht aber immer Fehlermeldung auf:
ActiveWorkbook.PublishObjects.Add(xlSourceSheet, _
"C:\My Folder\qm_elem.htm", "elem", "", xlHtmlStatic, _
"QM-SQL_AllinOne_22669", "").Publish (True)

Was mache ich da falsch. Denn wenn ich das erste Skript benutze, macht es ja hervoragend, nur das Problem ist das die Html Seiten sehen anders aus als wenn man den zweiten Skript verwendet (z.B. Bildaufleisten statt genau angepasst etc.)
Danke für eure Hilfe
Urmila

Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Skript zum Abspeichern je Tabellenblatt
20.07.2008 08:34:00
Tino
Hallo,
versuch es mal so.
ActiveWorkbook.PublishObjects.Add(xlSourceSheet, _
ThisWorkbook.Path & "\qm_elem.htm", Sheets(1).Name, "", xlHtmlStatic, _
"QM-SQL_AllinOne_22669", "").Publish (True)
Gruß Tino

www.VBA-Excel.de


Anzeige
AW: VBA Skript zum Abspeichern je Tabellenblatt
21.07.2008 08:24:00
Urmila
Hallo Tino,
danke erstmals für den Tipp. Leider geht es aber nicht.
Mein Ziel ist es ja, aufgrund unterschiedlicher Anlage von mehreren Tabellenblätter, diese einzeln als Html abzuspeichern, kommt aber immer die Fehlermeldung "Laufzeitfehler 438"
Vor allem verstehe ich den Skript an sich nicht (nur den für abspeichern)
Urmila

Anzeige
AW: VBA Skript zum Abspeichern je Tabellenblatt
21.07.2008 11:17:00
Tino
Hallo,
habe mal den Code zerlegt und mit Kommentaren versehen,
kannst du so etwas damit anfangen?

Dim strPfad As String
Dim strDatei As String
Dim strTabelle As String
'Pfad der AktuellenDatei ermitteln = SpeicherPfad
strPfad = _
IIf(Right$(ActiveWorkbook.Path, 1) = "\", ActiveWorkbook.Path, ActiveWorkbook.Path & "\")
'Ausgabe Datei
strDatei = "qm_elem.htm"
'Name der Tabelle, die gespeichert werden soll
strTabelle = "Tabelle1"
ActiveWorkbook.PublishObjects.Add(xlSourceSheet, _
strPfad & strDatei, strTabelle, "", xlHtmlStatic, _
"QM-SQL_AllinOne_22669", "").Publish (True)


Gruß Tino

www.VBA-Excel.de


Anzeige
AW: VBA Skript zum Abspeichern je Tabellenblatt
21.07.2008 13:41:00
Urmila
Hallo Tino
auch bei diesem Code taucht eine Fehlermeldung "1004" auf, immer noch das selbe Problem.
Habe nun mit dem Makro Aufzeichner das Speichern an sich aufgenommen, diese dann um die 20mal kopiert und tätige das dann wohl immer manuel wenn sich da was ändern sollte, dumme ist halt nur das dann 20mal hin und her zu kopieren...dachte es wäre vll dies noch kurz und kompakter darzustellen
Aber der 1. Skript, den ich ja erwähnte funktioniert ja, nur eben dass da diese horizontale () Bildaufleisten zusehen sind und es sieht aus als wären da noch Daten....

Anzeige
AW: VBA Skript zum Abspeichern je Tabellenblatt
21.07.2008 13:53:40
Tino
Hallo,
stell mal deinen Code, den Du aus meinem Beispiel zusammengestellt hast, hier rein.
Gruß Tino

AW: VBA Skript zum Abspeichern je Tabellenblatt
21.07.2008 14:29:00
Urmila
Hi Tino,
hier dein code....
Dim strPfad As String
Dim strDatei As String
Dim strTabelle As String
strPfad = _
IIf(Right$(ActiveWorkbook.Path, 1) = "\", ActiveWorkbook.Path, ActiveWorkbook.Path & "\")
strDatei = "qm_elem.htm"
strTabelle = "Tabelle1"
ActiveWorkbook.PublishObjects.Add(xlSourceSheet, _
strPfad & strDatei, strTabelle, "", xlHtmlStatic, _
"QM-SQL_AllinOne_22669", "").Publish (True)

Anzeige
AW: VBA Skript zum Abspeichern je Tabellenblatt
21.07.2008 14:59:44
Tino
Hallo,
also demnach muss ich wieder eine Gegenfrage stellen, hasst Du den Tabellennamen an deine Datei angepasst?
Existiert dieser Tabellenname nicht kommt es zu einem Fehler.
Gruß Tino

AW: VBA Skript zum Abspeichern je Tabellenblatt
21.07.2008 15:30:00
Urmila
Hi,
ja das habe ich, hab einmal das Tabellenblat an sich umbenannt und dann noch einmal im Code
aber immer noch ne fehlermeldung
...ich will dich aber nicht nun belästigen oder ärgern ;-)
Urmila

Anzeige
AW: VBA Skript zum Abspeichern je Tabellenblatt
21.07.2008 16:27:00
Tino
Hallo,
jetzt muss ich zum letzten Strohhalm greifen den ich habe,
stell mal eine Mappe hier rein wo ein solcher Fehler auftritt.
Gruß Tino

AW: VBA Skript zum Abspeichern je Tabellenblatt
22.07.2008 08:50:40
Urmila
Hallo Tino,
danke dir vieelmals dass du dir soviel zeit für mich nimmst
anbei die xls datein, da habe ich jetzt einfach spontan irgendwelche werte eingegeben
da sollen jetzt alle tabellenblätter als html abgespeichert werden, habe zwei buttons mit je unterscheidlicher funktion
habe dann die codes nicht verändert um dir es einfacher zu machen.... :-)
hier ist das file: https://www.herber.de/bbs/user/54050.xls
Gruß
Urmila
Sorry, gestern konnt ich net mehr mailen....

Anzeige
AW: VBA Skript zum Abspeichern je Tabellenblatt
22.07.2008 11:49:00
Tino
Hallo,
ich habe mal etwas getestet, scheinbar ist da noch ein allgemeiner Bug enthalten.
So müsste es aber Funktionieren.
https://www.herber.de/bbs/user/54055.xls
Gruß Tino

www.VBA-Excel.de


Anzeige
AW: VBA Skript zum Abspeichern je Tabellenblatt
22.07.2008 13:41:26
Urmila
Hervorrgend, einfach super....
Ich danke dir viieeeelmals Tino, echt lieb von dir.
Eigentlich habe ich schon wieder eine andere neue Frage, aber will dich jetzt bissi ausruhen lassen ;-) (steht aber im Forum)
Lieben Gruß
Urmila
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige