Er lidt i tvivl om spørgsmålet passer ind her, men nu prøver jeg. Og nogle vil nok opdage jeg har oprettet spørgsmålet under Excel, men da det ikke gav nogle hits, så antog jeg at det nok var det forkerte sted. ?
Jeg har googlet mig til en VBA kode (macro) som generer en HTML fil og indsætter den i body feltet i Outlook. Det betyder så at den indsætter en tabel på størelse med den fra Excel. Er der en måde hvor man kan nøjes med at kopier indholdet (altså teksten)? Kan se at en Dim sætning ikke kan holde på de linjeskift som ligger i cellen.
'Copy the range and create a new workbook to past the data in 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 Resume Next .DrawingObjects.Visible = True .DrawingObjects.Delete On Error GoTo 0 End With
'Publish the sheet to a htm file 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
'Read all data from the htm file into RangetoHTML Set fso = CreateObject("Scripting.FileSystemObject") Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2) RangetoHTML2 = ts.readall ts.Close RangetoHTML2 = Replace(RangetoHTML2, "align=center x:publishsource=", _ "align=left x:publishsource=")
'Close TempWB TempWB.Close savechanges:=False
'Delete the htm file we used in this function Kill TempFile
Set ts = Nothing Set fso = Nothing Set TempWB = Nothing End Function
Som det er nu indsætter den tabellen i min mail, selvfølgelig med tekst i.
Det betyder at tabellens højde og brede som den er i Excel også er sådan i mailen. Men er tabellen i Excel kun udfyldt med to linjer, så er der en masse spildplads ned til min signatur. Så tænkte jeg at det problem måske kunne løses ved at den lavet en text fil fremfor en html fil som ovennævnte kode jo gør.
Hvis jeg forstår rigtigt så ønsker du i stedet for at indsætte en tabel på f.eks. 3x8 celler kun at indsætte 2x4 (hvis det er der teksten er). Jeg kan med min erfaring ikke læse hvordan du markerer området, men har jeg opfattet det korrekt?
Jeg tror stadig et eksempel vil være et hit til forståelsen.
Det kan være et simpelt spørgsmål om at markere på anden vis...
Ikke helt. Lige nu indsætter den en tabel præcis som du nævnte. Det gør den fordi den laver mine markeret felter om til en htm fil som jeg ser det. Her ville jeg god at man kunne lave den om til en text fil, eller noget andet hvor den ikke medføre tabellen men kun teksten. Det er rent designmessigt jeg vil gøre det på den anden måde. 😊
Ville rigtig gerne lave et eksempel, men er ikke helt sikker på hvad det skulle vise
Det er nok bare mig som ikke forstår at læse det html værk, for jeg kan ikke se hvordan tabellen skabes, så jeg tænkte at der manglende resten af koden.
Jeg kan se en range copy, men ikke hvordan den range skabes i det kode du har lagt op.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.