RangeToHTML funktioniert nicht mehr
23.05.2023 12:22:59
Ulf
Hallo Ihr lieben Helfer,
ich habe für meine Kolleg:innen mit der Hilfe dieses tollen Forums ein Möglichkeit erstellt, bestimmte Daten aus einer Excel Datei zu extrahieren und mittels Screenshot in einer Mail zu versenden. Nun habe ich erfahren, dass das so nicht mehr funktioniert und bei meiner Überprüfung ist mir aufgefallen, dass das Ganze bei "rng.Copy" immer stehen bleibt. Nun stehe ich da und komme nicht weiter, daher wollte ich Euch fragen, ob Ihr für mich eine Lösung habt. Liegt das evtl. daran, dass Excel keine Tempfile anlegen kann im Schritt vorher?
Gruß Ulf
Function RangeToHTML(rng As Range) Dim Fso As Object Dim ts As Object Dim TempFile As String Dim TempWB As Workbook TempFile = Environ$("temp") & "/" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm" rng.Copy Set TempWB = Workbooks.Add(1) With TempWB.Sheets(1) .Cells(1).PasteSpecial Paste:=8 .Cells(1).PasteSpecial xlPasteValues, , False, False .Cells(1).PasteSpecial xlPasteFormats, , False, False .Cells(1).Select Application.CutCopyMode = False On Error GoTo 0 End With With TempWB.PublishObjects.Add( _ SourceType:=xlSourceRange, _ Filename:=TempFile, _ Sheet:=TempWB.Sheets(1).Name, _ Source:=TempWB.Sheets(1).UsedRange.Address, _ HtmlType:=xlHtmlStatic) .Publish (True) End With Set Fso = CreateObject("Scripting.FileSystemObject") Set ts = Fso.GetFile(TempFile).OpenAsTextStream(1, -2) RangeToHTML = ts.ReadAll ts.Close RangeToHTML = Replace(RangeToHTML, "align=center x:publishsource=", _ "align=left x:publishsource=") TempWB.Close SaveChanges:=False Kill TempFile Set ts = Nothing Set Fso = Nothing Set TempWB = Nothing End Function