Veröffentlicht 15. Oktober 200420 j Hallo Forum, ich habe ein VB-Script geschrieben das einen beliebigen text mit dem mailTo-Befehl in eine Email übergeben soll. Mit Outlook und Mozilla kein Problem. Der Text wird durch eine Routine für den Befehl MailTo aufbereitet, so das die leerzeichen durch ein %20 ersetzt werden. Tobit scheint das aber nciht ganz zu verstehen und setzt wirklich %20 in den Text rein, das sieht z.B. wie folgt aus: Hallo%20Herr%20Müller, Wie muss die Formatierung für Tobit lauten? Danke und Gruß Patrick
18. Oktober 200420 j Bei mir funktioniert die übergabe mit Leerzeichen und mit %20. Kannst du das Script mal posten? MfG MichaK
18. Oktober 200420 j Autor Bei mir bzw. dem Kunden leider nicht. Hier ist das Script: ' 06.10.2004 PPK 5.04.004 '****************************************************************************************************** ' In die "Email" können Sie eine feste Emailadresse hinterlegen oder eine Emailadresse aus ' einem Feld in AG-V.I.P.. Wenn Sie keine Emailadresse hinterlegen, wird automatisch die ' Email aus dem Kommunikationsfeld "Email1" genommen. ' In den "Betreff" können Sie einen festen Betreff hinterlegen. Hier können Sie Felder aus ' AG-V.I.P. automatisch hinterlegen lassen. ' In den Textinhalt hinterlegen Sie einen vordefinierten Text für die Email. Variablen für ' Feldinhalte aus AG-V.I.P. schreiben Sie in der Form %[Feldname AG-V.I.P.]%. ' In die Signatur können Sie eine Standardsignatur hinterlegen. Email = "alle@grutzeck.de" Betreff = "Neuer Kontakt in AG-VIP: - %KurzName% - , Ansp.: %Ansprechpartner% aus %Ort%" Textinhalt = "Hallo Kollegen" + vbCrlf + "Hier ist die Adresse:" + vbCrlf + _ "%AdresseStrasse%" + vbCrlf + "Direktzugriff unter Kurz-Namen: %KurzName%" + vbCrlf +_ "Bitte Stati und Kennzeichen ergänzen, wenn notwendig." + vbCrlf + vbCrlf Signatur = "Mit freundlichen Grüßen" + vbcrlf + AGVIP.UserFullname '****************************************************************************************************** ' Wir Konvertieren alle Variablen und übergeben diese dann an die Email Email = Convert(Email) Betreff = Convert(Betreff) Textinhalt = Convert(Textinhalt) Signatur = Convert(Signatur) ' Jetzt fügen wir die Briefanrede und den Textinhalt zusammen Textinhalt = Textinhalt + Signatur Set Shell = CreateObject("WScript.Shell") If Email <> "" Then Shell.run "mailto:"+Email+"?subject="+Betreff+"&body="+Textinhalt+"" Else Shell.run "mailto:"+AGVIP.ActiveAddress.Fields("EMail1")+"?subject="+Betreff+"&body="+Textinhalt+"" End If ' Die Funktion ergänzt die gewünschten Felder aus AG-VIP und ergänzt Leer- und Umbruchzeichen ' in die richtige Formatierung. Function Convert(strText) Dim sOut, cChar, strField, strFieldLen, strReplace, iPos, iNext iPos = InStr(1,strText,"%") On Error Resume Next Do While iPos<>0 strReplace = "" iNext = InStr(iPos+1,strText,"%") If iNext = 0 Then Exit Do ElseIf iPos+1 = iNext Then strReplace = "%" Else strField = Mid(strText,iPos+1,iNext-iPos-1) strFieldLen = Len(strField) If Left(strField, 1) = "@" Then strField = Right(strField, strFieldLen-1) strReplace = AGVIP.ActiveAddress.Fields(strField).Property.Value ElseIf ActiveAddress.Fields(strField) <> "" Then strReplace = AGVIP.ActiveAddress.Fields(strField) End If End If strText = Mid(strText,1,iPos-1) & strReplace & Mid(strText,iNext+1) iNext = iNext-(iNext-iPos-Len(strFieldLen)) iPos = InStr(iNext+1, strText, "%") Loop For iPos = 1 To Len(strText) ' Kommt ein Leerzeichen vor? cChar = Mid(strText,iPos,1) If InStr(1," ",cChar)<>0 Then ' Dieses Zeichen in %20 umwandeln sOut = sOut & "%20" ElseIf InStr(1,vbcrlf,cChar)<>0 then ' Dieses Zeichen in %0A umwandeln sOut = sOut & "%0A" Else sOut = sOut & cChar End If Next ' Konvertierten String zurück Convert = sOut End Function Interessant dürfte nur die Funktion sein, in der die Leerstellen durch %20 ersetzt werden. Danke.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.