Save All attachments does not work in Citrix

The 8.0.2CCH1 client does not seem to be able to do a Save All (attachments in a mail). Nothing happens. The same mail with a 802CCH1 client but without Citrix works fine.

Any suggestions/

Subject: we had the same problem

We had the same problem. We concluded that it has somethign to do with a combination of the permissions in Citrix and how Notes sees the folder. If you type the foldername, it works. Just not if you click it…Notes somehow doesn’t recognize a folder has been chosen.

We added an agent to the mail template, and users access it via Actions>AttachmentSaveAll. (I didn’t figure out how to get that into the right-click.) Here’s the agent code:

'OPTIONS:

Option Public

Option Declare

Const BIF_RETURNONLYFSDIRS = 1

Const BIF_DONTGOBELOWDOMAIN = 2

Const MAX_PATH = 260

'DECLARATIONS:

Type BrowseInfo

hWndOwner As Long

pIDLRoot As Long

pszDisplayName As Long

lpszTitle As String

ulFlags As Long

lpfnCallback As Long

lParam As Long

iImage As Long

End Type

Declare Function SHBrowseForFolder Lib “shell32” Alias “SHBrowseForFolderA” (lpbi As BrowseInfo) As Long

Declare Function SHGetPathFromIDList Lib “shell32” Alias “SHGetPathFromIDListA” (Byval pidList As Long, Byval lpBuffer As String) As Long

Declare Function FindWindow95 Lib “user32” Alias “FindWindowA” (Byval lpClassName As Any, Byval lpWindowName As Any) As Long

'FUNCTION CHOOSEFOLDER:

Function ChooseFolder(sPrompt As String) As String

Dim lpIDList As Long

Dim sBuffer As String * 255

Dim sReturnVal As String

Dim szTitle As String

Dim tBrowseInfo As BrowseInfo



sBuffer = String(Len(sBuffer),Chr(0))



szTitle = sPrompt

tBrowseInfo.hWndOwner = FindWindow95("notes",&H0)

tBrowseInfo.lpszTitle = szTitle

tBrowseInfo.ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN



lpIDList = SHBrowseForFolder(tBrowseInfo)



If (lpIDList) Then

	SHGetPathFromIDList lpIDList, sBuffer

	ChooseFolder = Left(sBuffer, Instr(sBuffer, Chr(0)) - 1)

End If

End Function

'INITIALIZE:

Sub Initialize

Dim s As New NotesSession 

Dim workspace As New NotesUIWorkspace

Dim uidoc As NotesUIDocument

Set uidoc = workspace.CurrentDocument

Dim doc As notesdocument

Set doc = uidoc.document



If uidoc.isnewdoc Then

	Msgbox "This utility doesn't work for new documents, save the document ( Ctrl S ), and try again."

	End

End If



	' DETACH OR FIND?

Dim askme As Variant

Dim names(1) As Variant

names(0) = "Detach Only"

names(1) = "Detach and Remove. Note location in message."

askme = workspace.Prompt(PROMPT_OKCANCELLIST, _

"Choose action", _

"What would you like to do?", _

names(1), names)

If Isempty(askme) Then

	Messagebox "User canceled", , "No action taken"

	Exit Sub

End If 'isempty



Dim boldStyle As NotesRichTextStyle

Set boldStyle = s.CreateRichTextStyle

boldStyle.Bold = True

Dim plStyle As NotesRichTextStyle

Set plStyle = s.CreateRichTextStyle

plStyle.Bold = False





Dim fileloc As String	

fileloc=choosefolder("Choose a directory to put the attachments into:")

Print "Putting files in: " & fileloc

Dim fileName As Variant



Dim rtitem As notesrichtextitem

Set rtitem = doc.GetFirstItem( "Body" )

If ( rtitem.Type = RICHTEXT ) Then

	

	Forall o In rtitem.EmbeddedObjects

		If ( o.Type = EMBED_ATTACHMENT ) Then

			Call o.ExtractFile( fileloc & "\" & o.Source )

			Set rtItem = doc.GetFirstItem("Body")  'rtITEM IS THE BODY FIELD

			Call rtItem.AddNewLine( 2 ) 'ADD A NEW LINE so our comment stands alone

			Call rtItem.AppendStyle(boldStyle)

			Call rtItem.AppendText("File " & o.source & " saved to " & fileloc )

			Call rtItem.AppendStyle(plStyle)

			Call rtItem.AppendText(" by " & s.CommonUserName & " on " & Format(Now(), "Long Date"))

			Call doc.Save(True, True)

			Print o.source & " saved to " & fileloc

		End If

	End Forall

	

End If 

If askme = "Detach and Remove. Note location in message." Then

	Forall o In rtitem.EmbeddedObjects

		If ( o.Type = EMBED_ATTACHMENT ) Then

			Call o.remove

			Call doc.Save(True, True)

		End If

	End Forall

	Print "attachments removed"

End If 'askme says to remove

Call uidoc.Close

End Sub

Subject: same problem

We’re facing the same problem.

Did anybody figure out how to solve it or are we forced to publish an own action as a workaround?