• Creator
    Topic
  • #3856
    ekimtoor
    Participant

      Can you provide an example of how to copy various parts of the currentitem to the clipboard or to a file?

    • Author
      Replies
    • #6412
      Support 2
      Moderator

        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

      Viewing 1 replies (of 1 total)
      • You must be logged in to reply to this topic.