Wer hat sich auch schon einmal darüber geärgert, dass Office beim Versenden von Nachrichten darin enthaltene Link-Adressen mit mehr als 76 Zeichen Länge sang- und klanglos automatisch umbricht. Der Empfänger der Mail erhält dann beim Klick auf die Links nur eine ungültige Seite angezeigt. Klar, der Geübte weiss sich zu helfen und kopiert auch die zweite Zeile zuerst in den Browser und ruft dann die Seite auf. Eine andere Variante ist natürlich, nur Mails im HTML und RTF Format zu versenden. Aber ich persönlich versende eigentlich ungern HTML-Nachrichten.
Die eine Lösung ist, den Wert in der Registry auf z.B. 1000 Zeichen zu erhöhen (über die Optionen selber geht das nur bis 132 Zeichen).
Das ist hier beschrieben:
http://www.outlook-stuff.com/lang-d...0-automatischen-zeilenumbruch-verhindern.html
Als alternative Lösung habe ich mir ein VBA-Skript geschrieben, das den Benutzer vor dem Versand der E-Mail darauf hinweist, wenn die Nachricht problematische Links enthält. Man kann dann entweder den Versand abbrechen, die E-Mail ins HTML konvertieren lassen oder trotzdem versenden. Vielleicht nutzt der Code auch dem einen oder anderen:
Das ganze muss im Visual Basic Editor in "Microsoft Office Outlook Objekte / DieseOutlookSitzung" kopiert werden.
Das Skript sollte für alle Outlook Versionen funktionieren. Getestet habe ich es allerdings nur mit Office 2003 und Office 2010.
Es wird allerdings wie gewohnt nur dann berücksichtigt, wenn die Sicherheitsstufe für Makros auf "Mittel" eingestellt ist oder bei "Hoch" das Makro mit einem persönlichen Zertifikat signiert wird. Wie man sich selbst ein Zertifikat erstellt kann z.B. hier nachgelesen werden.
http://www.pctipp.ch/praxishilfe/ku...itales_signieren_eines_vba_makroprojekts.html
Viel Spass beim Ausprobieren.
Gruss LMS
Die eine Lösung ist, den Wert in der Registry auf z.B. 1000 Zeichen zu erhöhen (über die Optionen selber geht das nur bis 132 Zeichen).
Das ist hier beschrieben:
http://www.outlook-stuff.com/lang-d...0-automatischen-zeilenumbruch-verhindern.html
Als alternative Lösung habe ich mir ein VBA-Skript geschrieben, das den Benutzer vor dem Versand der E-Mail darauf hinweist, wenn die Nachricht problematische Links enthält. Man kann dann entweder den Versand abbrechen, die E-Mail ins HTML konvertieren lassen oder trotzdem versenden. Vielleicht nutzt der Code auch dem einen oder anderen:
Code:
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
If (Item.BodyFormat <> olFormatPlain) Then
Exit Sub
End If
'Debug.Print GetPlainWrapLen
Dim contentArray() As String
Dim tokens() As String
Set re = CreateObject("vbscript.regexp")
re.Pattern = "(ftp|https?)://.+"
re.IgnoreCase = True ' case sensitive search
re.Global = True ' find all the occurrences
contentArray = Split(Item.Body, vbCrLf)
For Each zeile In contentArray
tokens = Split(zeile, " ")
For Each token In tokens
If (re.test(token) And Len(token) > GetPlainWrapLen) Then
'Debug.Print zeile
Call Question(Item, Cancel)
Exit Sub
End If
Next token
Next zeile
End Sub
Private Sub Question(ByVal Item As Object, ByRef Cancel As Boolean)
messageText = "Vorsicht: Nachricht enthält lange Link-Adressen die umgebrochen werden könnten. " & _
vbLf & "E-Mail als HTML formatieren?"
messageTitel = "Microsoft Office Outlook"
Select Case MsgBox(messageText, vbExclamation + vbYesNoCancel, messageTitel)
Case Is = vbCancel
Cancel = True
Case Is = vbNo
Cancel = False
Case Is = vbYes
Cancel = True
Item.BodyFormat = olFormatHTML
End Select
End Sub
Private Function GetPlainWrapLen()
'Debug.Print Application.Version
Dim wsh As Object
Set wsh = CreateObject("WScript.Shell")
RegEntry = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & Left(Application.Version, 4) _
& "\Common\MailSettings\PlainWrapLen"
GetPlainWrapLen = wsh.RegRead(RegEntry)
End Function
Das ganze muss im Visual Basic Editor in "Microsoft Office Outlook Objekte / DieseOutlookSitzung" kopiert werden.
Das Skript sollte für alle Outlook Versionen funktionieren. Getestet habe ich es allerdings nur mit Office 2003 und Office 2010.
Es wird allerdings wie gewohnt nur dann berücksichtigt, wenn die Sicherheitsstufe für Makros auf "Mittel" eingestellt ist oder bei "Hoch" das Makro mit einem persönlichen Zertifikat signiert wird. Wie man sich selbst ein Zertifikat erstellt kann z.B. hier nachgelesen werden.
http://www.pctipp.ch/praxishilfe/ku...itales_signieren_eines_vba_makroprojekts.html
Viel Spass beim Ausprobieren.
Gruss LMS