Guten Abend!
Ich habe ein Makro erstellt, mit dessen Hilfe eine Tabelle als Webseite gespeichert wird. Es geht darum, dass das Dokument nach dem speichern nicht mehr geändert werden kann.
_Private Sub CommandButton1_Click()
ActiveWorkbook.SaveAs Filename:=„R:\Daten\Archiv“ & Range(„M3“) & „.htm“, FileFormat _
:=xlHtml, ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWorkbook.Save
ActiveWorkbook.Close SaveChanges = True
End Sub_
Dummerweise speichert es die komplette Arbeitsmappe. Es soll aber nur ein Tabellenblatt dieser Mappe gespeichert werden. Habe es mit „Makro aufzeichnen“ probiert, aber das funktioniert auch nicht. Habt ihr eine Idee? Bin bis jetzt in keinem Forum fündig geworden.
Gruß
Maik
             
            
              
              
              
            
            
           
          
            
            
              Hallo Maik,
ich habe mal einene Makro aufgezeichnet und dabei in einer mehrblättrigen Arbeitsmappe Folgendes gemacht (Excel 2010):
Datei - Speichern unter …
Dateityp „Webseite“ auswählen
Bei „Speichern:“ auswählen „Auswahl: Tabelle“
Dann Speichern.
Der Makro, der dabei rauskam, sieht so aus:
Sub Makro1()
'
' Makro1 Makro
'
'
 With ActiveWorkbook.PublishObjects.Add(xlSourceSheet, \_
 "C:\Dokumente und Einstellungen\Andreas\Eigene Dateien\Mappe1.htm", "Tabelle1" \_
 , "", xlHtmlStatic, "Mappe1\_20190", "")
 .Publish (True)
 .AutoRepublish = False
 End With
End Sub
Kannste ja mal versuchen.
Gruß, Andreas
             
            
              
              
              
            
            
           
          
            
            
              hallo Andreas, danke für den Tip. hatte es auch schonmal probiert. Wenn ich das Makro dann einfüge kommt das raus:
Laufzeitfehler „1004“ Die Methode „Publish“ für das Objekt „PublishObject“ ist fehlgeschlagen
Hier das Makro:
With ActiveWorkbook.PublishObjects.Add(xlSourceSheet, „R:\Archiv“ & Range(„M3“) & „.htm“, „Lieferschein“, „“, xlHtmlStatic, „Mappe1_20190“, „“)
.Publish (True)
.AutoRepublish = False
End With
             
            
              
              
              
            
            
           
          
            
            
              Hallo Maik,
nur mal schnell ins Blaue geraten: Hast du evtl. vor dem „Archiv“ einen Backlslash zu viel?
Gruß, Andreas
             
            
              
              
              
            
            
           
          
            
            
              Hallo, nein. kommt davon, dass ich nicht den kompletten pfad aufgeführt habe. Denk dir denk / einfach weg. Im Original-makro ist der Pfad komplett und richtig. Sorry, wenn ich dich verwirrt habe… ;o)
             
            
              
              
              
            
            
           
          
            
            
              OK,
bin momentan zu müde. Melde mich morgen wieder.
Gute Nacht, Andreas
             
            
              
              
              
            
            
           
          
            
            
              Grüezi Maik
Versuche es doch mal so, dass Du das Tabellenblatt als neue Mappe kopierst und so dann speicherst:
Private Sub CommandButton1\_Click()
Dim strName As String
 strName = Range("M3").Value
 Worksheets("Tabelle1").Copy 'Hier den Namen des Tabellenblattes angeben
 ActiveWorkbook.SaveAs Filename:="R:\Daten\Archiv\" & strName & ".htm", \_
 FileFormat:=xlHtml, \_
 ReadOnlyRecommended:=False, \_
 CreateBackup:=False
 ActiveWorkbook.Close SaveChanges:=True
 ActiveWorkbook.Save
 ActiveWorkbook.Close SaveChanges:=True
End Sub
Mit freundlichen Grüssen
Thomas Ramel
             
            
              
              
              
            
            
           
          
            
            
              Hallo Maik,
Thomas hat dir ja eine, wie ich finde, sehr praktikabele Lösung gepostet. Wenn du einverstanden bist, werde ich an dem Makro, den ich aufgezeichet hatte (und der bei dir nicht läuft) nicht weiter rumdoktoren.
Gruß, Andreas
             
            
              
              
              
            
            
           
          
            
            
              Guten Morgen Andreas 
Hab das Problem anders gelöst. Ich lasse das Makro einfach den Druckbereich als JPG exportieren. Schon hab ich das, was ich brauche. Hab den VBA Code dazu in nem anderen Forum gefunden.
Danke dir trotzdem für die Mühe
Maik