/ Forums / Advansys Formativ / Creating Solutions with Formativ / Create Folder and Copy Current Item / Reply To: Create Folder and Copy Current Item
June 5, 2003 at 4:31 pm
#6637
No problems – we always like to try to assist our users. The following code may assist:
dim iMsg dim iFolder '------------------------------------------------------------------------------- ' Main-Line processing '------------------------------------------------------------------------------- Sub Main(Client, GWEvent) on error resume next Set iMsg = Client.ClientState.CommandMessage if not isobject(iMsg) then call msgbox("Please select a message to proceed.", vbInformation, "Message Management") exit sub end if ' Create the destination folder CreateFolder(GetDisplayName(iMsg.FromText)) ' Move the message from the current folder into the destination folder's messages collection call Client.ClientState.SelectedFolder.messages.move(iMsg.MessageID, iFolder.Messages) set iMsg = nothing set iFolder = nothing End Sub '------------------------------------------------------------------------------- ' Create the folder if not exists '------------------------------------------------------------------------------- sub CreateFolder(aName) if (len(aName) = 0) then exit sub end if dim iRootFolders groupwise.account.refresh set iRootFolders = groupwise.account.RootFolder.folders on error resume next set iFolder = iRootFolders.ItemByName(aName) if iFolder is nothing then set iFolder = iRootFolders.add(aName) end if set iRootFolders = nothing end sub '------------------------------------------------------------------------------- ' Get the sender's display name '------------------------------------------------------------------------------- Function GetDisplayName(aName) Dim iPos dim iText aName = trim(aName) iPos = Instr(1, aName, "<", 1) if (iPos > 0) then iText = trim(mid(aName, 1, iPos -1)) if (len(iText) = 0) then aName = mid(aName, iPos + 1) else aName = iText end if end if iPos = Instr(1, aName, ">", 1) if (iPos > 0) then aName = mid(aName, 1, iPos -1) end if iPos = Instr(1, aName, "@", 1) if (iPos > 0) then aName = mid(aName, 1, iPos -1) end if aName = replace(aName, """", "") aName = replace(aName, ".", " ") aName = replace(aName, "/", "") aName = replace(aName, "", "") aName = replace(aName, "'", "") aName = replace(aName, "*", "") aName = replace(aName, ">", "") aName = replace(aName, "<", "") GetDisplayName = trim(aName) End Function
Regards,
Advansys Support