> Can the mailto command use strings and variavbles from inside the word
> document?
[quoted text clipped - 4 lines]
> text and then the full text be in the email (not just a link to the
> text in the document.)
Yep, it can be done, but there is a limit on the overall length. I want to say it's
around 2000 chars, but can't recall precisely. You build the mailto URL from your
strings/variables, something like this:
Private Sub PrepareEmail(ByVal AddrTo As String, ByVal AddrCc As String, ByVal
Subject As String, ByVal Body As String)
Dim Link As String
Link = "mailto:" & AddrTo & _
"?cc=" & AddrCc & _
"&subject=" & Subject & _
"&body=" & EscapeURL(Body)
Call OpenDoc(Link)
End Sub
The two helper functions there prepare the body text for use in a URL and actually
execute the link:
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA"
(ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal
lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Declare Function UrlEscape Lib "Shlwapi.dll" Alias "UrlEscapeA" (ByVal
pszURL As String, ByVal pszEscaped As String, ByRef pcchEscaped As Long, ByVal
dwFlags As Long) As Long
Private Const URL_DONT_ESCAPE_EXTRA_INFO As Long = &H2000000
Private Function EscapeURL(ByVal URL As String) As String
' Purpose: A thin wrapper for the URLEscape API function.
Dim EscTxt As String
Dim nLen As Long
' Create a maximum sized buffer.
nLen = Len(URL) * 3
EscTxt = Space$(nLen)
If UrlEscape(URL, EscTxt, nLen, URL_DONT_ESCAPE_EXTRA_INFO) = 0 Then
EscapeURL = Left$(EscTxt, nLen)
End If
End Function
Private Function OpenDoc(ByVal DocFile As String) As Long
Dim nRet As Long
' Actually uses the default verb if available, and "open" otherwise
nRet = ShellExecute(0&, vbNullString, DocFile, vbNullString, vbNullString,
vbNormalFocus)
Debug.Print "ShellExecute: "; nRet
OpenDoc = nRet
End Function
Later... Karl

Signature
Working Without a .NET?
http://classicvb.org/petition
Angela 'Angel' Brown - 27 Oct 2005 07:07 GMT
Captain EO - 28 Oct 2006 05:30 GMT
Hi Karl
Wondering if you can help me.
I am using mailto in a URL. Basically I want the URL to open outlook --
this is working fine. However I want the email created to include my outlook
signature, but when I use mailto I get a blank email even though I have
signatures turned on. Any ideas on how I can get the signature into the email.
Thanks.
> > Can the mailto command use strings and variavbles from inside the word
> > document?
[quoted text clipped - 55 lines]
>
> Later... Karl
Doug Robbins - Word MVP - 28 Oct 2006 08:22 GMT
Here is one way of doing it, but it may require that you have two email
accounts set up in Outlook. In the Outlook message pane, there is a button
that allows you to select the account from which the message will be sent.
Changing the account inserts/changes the signature to the one that you have
set up for the account that is selected.

Signature
Hope this helps.
Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.
Doug Robbins - Word MVP
> Hi Karl
>
[quoted text clipped - 79 lines]
>>
>> Later... Karl