/ Forums / Advansys Formativ / Creating Solutions with Formativ / Copying the message / Reply To: Copying the message
Below is some example source code which will copy selected message info to clipboard or to a file. You will need to edit the code to change modes, for example set the COPY_TO_CLIPBOARD value to the following features:
A) TRUE = Copy to clipboard
B) FALSE = Save to a file
code:
'--------------------------------------------------------------------------------Const CAPTION = "Formativ Business Solutions"
HRT = Chr(13) & Chr(10)
'--------------------------------------------------------------------------------
' Main Line processing
'--------------------------------------------------------------------------------
Sub Main(Client, GWEvent)
dim messageList
' Change the value to (TRUE = Copy to clipboard, FALSE = Save to a file)
Const COPY_TO_CLIPBOARD = TRUE
set messageList = Utilities.StringList
On Error Resume Next
' If we selected more then one messages
If Client.ClientState.SelectedMessages.Count > 1 then
for x = 1 to Client.ClientState.SelectedMessages.Count
Set iMsg = Client.ClientState.SelectedMessages.Item(x)
call ExtractMessageInfo(messageList, iMsg)
set iMsg = Nothing
next
Else
' If only one message selected
Set iMsg = Client.ClientState.CommandMessage
If iMsg is Nothing then
call MsgBox ("Message(s) not selected.", 64, CAPTION)
exit sub
Else
call ExtractMessageInfo(messageList, iMsg)
End If
End If
' Copy the messages details into clipboard
if COPY_TO_CLIPBOARD then
CopyToClipboard(messageList)
else
SaveInToFile(messageList)
end if
set iMsg = nothing
set messageList = nothing
End Sub
'--------------------------------------------------------------------------------
' Extract message details and store in a string list
'--------------------------------------------------------------------------------
Sub ExtractMessageInfo(messageList, iMsg)
with messageList
.Add(iMsg.Subject & HRT & iMsg.Sender.DisplayName & HRT & iMsg.Sender.EmailAddress & HRT &_
iMsg.CreationDate & HRT & iMsg.BodyText)
end with
End Sub
'--------------------------------------------------------------------------------
' Copy to clipbord
' Note: You can use Utilities.FromClipBoard to get the value from the clipboard.
'--------------------------------------------------------------------------------
Sub CopyToClipboard(messageList)
Utilities.ToClipBoard(messageList.Text)
call MsgBox ("Messages details copied to clipboard.", 64, CAPTION)
End Sub
'--------------------------------------------------------------------------------
' Save into a file
' Create a text file in the formativ default data folder and write the details in.
'--------------------------------------------------------------------------------
Sub SaveInToFile(messageList)
dim iFSO
FILE_NAME = Utilities.GetDataDirectory & "Test.txt"
Set iFSO = CreateObject("Scripting.FileSystemObject")
Call iFSO.CreateTextFile(FILE_NAME, True)
call Utilities.SaveStringToFile(messageList.Text, FILE_NAME, TRUE)
set iFSO = nothing
call MsgBox (FILE_NAME & " - file created.", 64, CAPTION)
End Sub
I hope this helps and let us know if you have any further questions.
Regards,
Advansys Support