HTML-Neuling sucht Hilfe beim Ersatz vom alten <pre width =Zahl>
Markus Widmer
- html
0 norbert =:-)0 Markus0 norbert =:-)0 Markus
Hallo Leute
Eine einfache zweispaltige Tabelle im Mail erstellen, dachte ich
Mit Tabelle Zeilenumbruch <pre> hab ich im Forum auch schon ein par Themen gefunden und sehe ich bin nicht allein. Nur leider komme ich nicht weiter.
Mein Kopf ist mit neuer HTML-Info ziemlich (über)-voll. Komme aus dem VBA bereich, wo ich in Access ein DB-Projekt erstelle. Nun möchte ich einige Daten aus der DB per Mail (Outlook HTMLBody) senden.
In einer Schleife wird für jede Datenzeile einer zweispaltigen Tabelle der HTML-Code generiert:
Body= Text mit HTML-Code
Body = "<table cellspacing=16>"
Schleife je Zeile:
Body = Body & "<tr><td align =left valign=top>" &Var1 & "</td><td><b><pre>" &Var2 & "</pre></b></td></tr>"
Nächste Zeile
Das ganze geht auch gut. Nur leider gibt es folgendes Problem. Die Variable Var2 ist ein Memofeld. Diese kann Text gemäss folgendem Bsp enthalten:
"Liebes Forum
wäre wirklich schön, wenn ihr mir hier als Neuling einen guten Tipp geben könntet, wie ich da möglichst universell diesen Text in die Tabelle packen kann. Einmal sollte dieser Teil hier nicht ins unendliche nach rechts verschwinden, sondern entsprechend dem Fensterbereich für die Tabelle auf neue Zeilen umgebrochen werden, anderseits sollten die bereits vorhandenen Zeilenumbrüche und Leerzeilen wie nachfolgende erhalten bleiben.
Also obige 2 Leerzeilen.
Und dieser Zeilenumbruch."
Soweit das Memofeld. Habe einiges Versuch und gelernt. Mir scheint wie im Titel vermerkt, das ich eigentlich eine Lösung gefunden hätte, die aber mit den neuen Browsern nicht mehr unterstütz wird. Wer kennt einen Lösungsansatz?
Hoffnungsvoll Markus
Hallo Markus!
Solltest Du künftig öfter derartige Mails oder HTML-Ausgaben generieren, würde ich dir ein Studium von SelfHTML nahelegen. Zum aktuellen Problem:
Damit der Text automatisch umgebrochen wird, musst Du das <pre> entfernen. Stattdessen musst Du alle Zeilenumbrüche (Chr(13)) in Var2 vor der Ausgabe durch '<br>' ersetzen! (Je nach Betriebssystem eventuell auch Chr(10) rausfiltern!).
Body = Body & "<tr><td align =left valign=top>" & Var1 & "</td><td><b>" & Var2 & "</b></td></tr>"
mfg
norbert =:-)
Hallo Markus!
Solltest Du künftig öfter derartige Mails oder HTML-Ausgaben generieren, würde ich dir ein Studium von SelfHTML nahelegen. Zum aktuellen Problem:
Damit der Text automatisch umgebrochen wird, musst Du das <pre> entfernen. Stattdessen musst Du alle Zeilenumbrüche (Chr(13)) in Var2 vor der Ausgabe durch '<br>' ersetzen! (Je nach Betriebssystem eventuell auch Chr(10) rausfiltern!).
Body = Body & "<tr><td align =left valign=top>" & Var1 & "</td><td><b>" & Var2 & "</b></td></tr>"
mfg
norbert =:-)
Hallo Norbert Danke für deine Antwort :-)
Irgendwie hab ich's fast geahnt, das dies so erstellt werden sollte. Muss mich da mal über die Bücher machen wie einfach dass in Access geht. Trotzdem hätte mich noch interessiert, ob es auch alternative Verfahren gibt, die in HTML selbst angewendet werden könnten.
mit Gruss Markus
Hallo Markus!
Die Alternative wäre eben <pre> gewesen - zwischen diesen Tags wird der Text genau so dargestellt, wie im Quellcode - aber eben auch unendlich lange Zeilen ;-)
Es wird Dir also nicht viel anderes übrig bleiben, als die Zeilenumbrüche zu ersetzen - hab grad in VBA nachgesehen - es sollte mit folgender Funktion klappen (zumindest in Excel).
Var2 = Replace(Var2, Chr(13), "<br>")
mfg
norbert =:-)
Hallo Markus!
Die Alternative wäre eben <pre> gewesen - zwischen diesen Tags wird der Text genau so dargestellt, wie im Quellcode - aber eben auch unendlich lange Zeilen ;-)
Es wird Dir also nicht viel anderes übrig bleiben, als die Zeilenumbrüche zu ersetzen - hab grad in VBA nachgesehen - es sollte mit folgender Funktion klappen (zumindest in Excel).
Var2 = Replace(Var2, Chr(13), "<br>")
mfg
norbert =:-)
JA!
genau so läuft's auch in Access :-)) geht also eigentlich schön einfach.
vielen Dank hat mir sehr geholfen
Markus