PDA

Vollständige Version anzeigen : Arbeitsblatt mittel VBA in einer neuen HTML Datei speichern


Becksta
17.11.2005, 16:36
Hallo,

ich habe folgendes Anliegen.

Aus einer Arbeitsmappe möchte ich die Tabellenblätter 1 bis n in jeweils einer HTML Datei speichern.

Hier mal ein 2 kleine Codebeispiele, die für sich genommen auch funktionieren. Die Kombination der beiden klappt leider nicht.

Private Sub CommandButton1_Click()
strRelativerDateiname = "\Test\"
Dim file As String
file = ActiveWorkbook.Sheets("Tabelle2").Range("A3").Value
ActiveWorkbook.SaveAs Filename:= _
ActiveWorkbook.Path & strRelativerDateiname & file, _
FileFormat:=xlHtml
End Sub

Dabei geschieht folgendes:
In die HTML Datei wird die gesamte Arbeitsmappe geschrieben, statt eines Arbeitsblattes. Das funktioniert nur, wenn der Ordner Test besteht.

Wie kriegt man es hin, das der Ordner Test erstellt wird, sofern er nicht vorhanden ist?

2. Beispiel:

Private Sub CommandButton1_Click()
Dim file As String
file = ActiveWorkbook.Sheets("Tabelle2").Range("A3").Value
Sheets.("Tabelle2").Copy
ActiveWorkbook.SaveAs Filename:= _
"absoluter Pfad" & file, _
FileFormat:=xlHtml
End Sub

Dabei wird eine einzelne HTML Datei erstellt, die auch nur den Inhalt eines Tabellenblattes enthält.

Wie führt man beide Funktionen zusammen????????
Wie kriegt man es hin, das mehrere Tabellenblätter einzeln als Dateien ausgegeben werden??
Idealerweise möchte ich Funktionen einbauen, die die einzelnen HTML Dateien an vordefinierte E-Mail Adresse schicken, die ebenfalls in der Arbeitsmappe stehen.
Ist so etwas auch möglich???

Viele Grüße
Daniel Beck

Becksta
20.11.2005, 09:46
noch ein Nachtrag zu meinem Problem.

Mittlerweile bin ich davon abgekommen, die Tabellenblätter per Mail zu verschicken. Stattdessen speichere ich die mit einem Kennwort versehen in einem Ordner ab.
Dies soll mit den Tabellenblättern 2-50 passieren. Jedes dieser Blätter holt sich von der 1. Seite Werte rüber, deshalb gehts erst mit der 2. Seite los.

Warum läuft meine Schleife einmal durch und bricht beim 2. mal ab?
Ich verstehe das nicht... ach so... es Handelt sich dabei um Excel2000

Ich hoffe, es kann sich mal jemand dazu äußern.... ;o)

Greetz
Becksta

Private Sub CommandButton1_Click()

Dim file() As Variant
Dim Zähler As Integer


Kommando1

End Sub
Sub Kommando1()

Zähler = 2

Do While Zähler < 50

ActiveWorkbook.Sheets(Zähler).Copy
Application.DisplayAlerts = False

ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.Sheets(Zähler).Range("A1").Value, FileFormat:= _
xlNormal, Password:=ActiveWorkbook.Sheets(Zähler).Range("A2").Value

ActiveWorkbook.Close

Zähler = Zähler + 1
Loop

End Sub

neu_hier
20.11.2005, 12:42
Sub Kommando1()

Zähler = 2

Do While Zähler < 50

ActiveWorkbook.Sheets(Zähler).Copy
Application.DisplayAlerts = False

ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.Sheets(Zähler).Range("A1").Value, FileFormat:= _
xlNormal, Password:=ActiveWorkbook.Sheets(Zähler).Range("A2").Value
'hier wird deine Tabelle sofort geschlossen
ActiveWorkbook.Close

Zähler = Zähler + 1
Loop

End Sub