Live-Forum - Die aktuellen Beiträge
Datum
Titel
30.11.2023 13:45:40
30.11.2023 13:10:14
Anzeige
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
972to976
972to976
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Als HTML speichern - variabler Name

Als HTML speichern - variabler Name
04.05.2008 10:04:05
G.H
Hallo!
Ich habe schon einige Forumbeiträge gefunden, die das Speichern als html betreffen, aber noch keinen,
der mein Problem hat:
Ich erstelle per Access ca 30 Excel-Sheets mit unterschiedlichen Namen und Pfaden. Jetzt möchte ich
die Excel-Listen automatisch beim Drücken eines Buttons als html im selben Ordner abspeichern.
Habe bisher diesen Code:
dateiname = Replace(ActiveWorkbook.FullName, ".xls", ".htm")
MsgBox dateiname ' nur zur Überprüfung - gibt den pfad mit der Endung htm an
With ActiveWorkbook.PublishObjects(Sheets(2))
.HtmlType = xlHtmlStatic
.Filename = "& Dateiname &"
.Publish (False)
.AutoRepublish = False
End With

Bei diesem Code aber kommt immer ein Fehler - und der Debugger zeigt auf die With ActiveWorkbook...-Zeile!
Aber was kann ist da falsch ? Ich möchte IMMER nur das 2. Tabellenblatt ausgeben!
Vielen Dank,
G.H.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Als HTML speichern - variabler Name
04.05.2008 10:59:04
ramses
Hallo
Von wo aus läuft der Code ?
EXCEL oder ACCESS
Wenn von ACCESS aus, dann musst du zuerst ein EXCEL-Application Object erstellen und dann auf dein Workbook verweisen.
Aus EXCEL würde es grundsätzlich so funktionieren
Option Explicit

Sub test()
    With ActiveWorkbook.PublishObjects.Add(xlSourceSheet, _
        "\\myserver\sharename\folder\filename.htm", "Sheet1", "", xlHtmlStatic, "", "")
        .Publish True
        .AutoRepublish = False
    End With
End Sub

Gruss Rainer

Anzeige
AW: Als HTML speichern - variabler Name
04.05.2008 11:54:49
G.H.
Hallo Rainer!
Erst mal Danke für die rasche Antwort. Zu deiner Frage:
Ja, ich erstelle zuerst das Excel, öffne es und möchte dann per Knopfdruck die HTML-Seite. Aber mein
Problem ist ja, dass der Name NICHT immer "sheet1" und "sheet2" ist - daher möchte ich eben genau diesen
Namen (habe das hier mit Sheets(2) angedeutet) variabel haben. Aber mit Sheets(2) geht es nicht!
Vielleicht ist es jetzt ein bisschen verständlicher ausgedrückt... ;-)
lg

Dann musst du Rainer's Subroutine para...
04.05.2008 15:49:00
Luc:-?
...metrieren, G.
Also ungefähr so:

Sub test(Optional ByRef Wsh As Worksheet)
If Wsh = Nothing Then Set Wsh = ActiveSheet


Statt "Sheet1" schreibst du dann Wsh.Name.
Kann sein, dass sich die Subroutine dann nicht per "Knopfdruck" aufrufen lässt - trotz Optional (geht, glaube ich, nur mit optionalen Parametern vom Typ Variant)! Dann entweder entsprechend umstellen, wenn sich der Aufruf ohne Parameter lohnt (bei häufigem Verwenden des aktuellen Blattes) oder du musst dir einen Satz unparametrierter Aufruf-Subroutinen anlegen, die die das jeweilige Blatt als Parameter übergeben.
Alternativ könnte die Subroutine den Blattnamen auch abfragen, evtl aus einer Zelle. Hierbei könnte der Blattname auch mit einer Formel ermittelt wdn, z.B. als Ausblendung aus ZELLE("dateiname";Blatt!Bereich). So könnte allerdings auch der gesamte Pfad übergeben wdn.
Es sind auch noch andere Möglichkeiten der Blattnamensübergabe denkbar. So bspw mit einer Globalvariablen, evtl unter Einbeziehung einer Ereignisprozedur. Die einfachste mag aber die erstgenannte sein.
Gruß Luc :-?

Anzeige
AW: Dann musst du Rainer's Subroutine para...
04.05.2008 16:08:00
G.H.
Aha - das kommt also heraus, wenn ich bei VBA-Kenntnissen GUT eingebe - ich habe leider fast nichts
von dem verstanden, was du geschrieben hast...Was muss ich jetzt machen ?
Soll ich jetzt Whs.Name statt "sheet1" eingeben, oder nicht?

Ja, wenn du alles andere auch so machst!
04.05.2008 16:22:00
Luc:-?
Allerdings kannst du ja auch den anderen Weg wählen und den Namen aus einer festgelegten, stets gleichen Zelle auslesen, G.
Dann musst du allerdings noch eine Variable deklarieren (As String) die diesen Text aufnimmt: _ p>

Dim WshN As String
WshN = Range("diesezelle")


...und das dann ohne Parameter und "sheets1" durch WshN ersetzen.
Luc :-?
PS: Deine Kenntnisse sollten schon deiner Angabe entsprechen, sonst reden wir aneinander vorbei. In Fällen von Selbstüberhebung kennen wir keine Gnade... ;-)
Tipp: Mal die xl/VBA-Objektstruktur, die Befehlsliste und alle Hilfekapitel durchzählen nach dem Prinzip "Kenn ich - Kenn ich nicht", daraus eine %Zahl machen und die auf die Forums-Einstellungsmöglichkeiten für UserKenntnisse anwenden. Da sollte sich dann das Richtige ergeben... ;-)

Anzeige
AW: Als HTML speichern - variabler Name
05.05.2008 23:58:00
Ramses
Hallo
Sorry,... aber du solltest schon wissen welches Sheet es ist :-)
Alternativ mit "ActiveSheet" arbeiten.
Habe das jetzt nicht getestet, sollte aber tun
Option Explicit

Sub test()
With ActiveWorkbook.PublishObjects.Add(xlSourceSheet, _
"\\myserver\sharename\folder\filename.htm", "" & ActiveSheet.Name & "", "",  _
xlHtmlStatic, "", "")
.Publish True
.AutoRepublish = False
End With
End Sub


Gruss Rainer

300 Forumthreads zu ähnlichen Themen


Halli Hallo,
ich habe eine kurze frage. und war geht es darum, dass die spalte a untersucht werden sollen. es sollen alle werte der tabelle (zeilen) kopiert werden, bis in der spalte a der wert 0 ist.
Im Folgenden habe ich eine Beispieldatei drangehangen. https://www.herber.de/bbs/user/...

Hallo!
Ich habe folgendes Problem:
über einen Commandbutton kopiert der User ein Blatt in eine neue Datei, die so dann gleich geschlossen werden soll. Hier erscheint dann der Dialog "Wollen Sie speichern? - ja - nein - abbrechen -". Ich hätte nun aber gern, dass gleich der Dialog "Speic...

Ich habe folgendes Problem, ich möchte ein einzelnes Tabellenblatt aus Excel heraus in eine Pdf Datei mittels command Buttom und Makro/ VBA speichern. Als PDF Prog nutze ich Adobe Acrobat Prof 8.0(bringt nen Converter mit).
THX im Voraus

Hallo Leute, schönen Guten Morgen.
KAnn man folgenden Code so umdrehen, das der Inhalt der Zelle D4 vor dem Blattnamen abgespeichert wird,
ActiveWorkbook.SaveAs SavePath & "\" & ActiveSheet.Name & " " & ThisWorkbook.Sheets("Bestandsübersicht").Range("D4").Value & "....

Ich möchte eine Excel Datei mit Makros auf meiner Homepage hochladen und ich möchte, dass wenn jemand das File bearbeitet hat und mit einem Button schliessen wählt, dass es die Datei automatisch auf der Homepage speichert. Wer kann mir helfen? Vielen Dank!

Hallo liebe Excellenzen,
ich habe mich früher des öfteren im Spotlight Forum herumgetrieben. Leider fehlt mir heute die Zeit mich mehr einzubringen.
Hier bei Herber ist es mein erster Beitrag. Vielen Dank dafür dass es hier eine solche Plattform gibt!
Ich habe einen kleinen Server....
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige