Email Button For Updating Files On The User Machine

put this code in a button or hotspot in notes mail memo and attach a file (like a word template) . when the user...

will click the button the file attached will replace the file that already on the user machine. you are not need to know where the user kepp his file , the script will locate it and replace it . we are using it for Office templates update . enjoy 'This_will_update_your_iso_template_to_the_current_version: Dim FSO As Variant Dim Files As Variant Dim SubFolders As Variant Dim Drives As Variant Dim initFolder As Variant Dim TextFile As Variant Dim filename As String Dim DriveName As String Dim DriveType As String Dim w As notesuiworkspace Dim doc As notesdocument Dim rtitem As Variant Dim temp As String Sub Click(Source As Button) Set w=New notesuiworkspace Set doc=w.currentdocument.document Set rtitem = doc.GetFirstItem( "Body" ) Set FSO = CreateObject("Scripting.FileSystemObject") Set Drives=fso.drives FileName=GetFileName() Forall dr In Drives If dr.DriveType=2 Then drivename=dr.DriveLetter+":\" Set initFolder = FSO.GetFolder(drivename) Set SubFolders = initFolder.Subfolders Set Files = initFolder.Files If SubFolders.Count > 0 Then Forall x In SubFolders If fso.fileexists(x.path+"\"+filename) Then temp=x.path+"\"+filename Call UpdateFile(temp) End If Recurse(x) End Forall End If End If End Forall Beep If temp<>"" Then Msgbox "File was successfully updated" Else Msgbox "File is missing , you can detach the file manually" End If Set fso=Nothing End Sub Function UpdateFile(FullPath As String) Call fso.DeleteFile(FullPath,True) If ( rtitem.Type = RICHTEXT ) Then Forall o In rtitem.EmbeddedObjects If ( o.Type = EMBED_ATTACHMENT ) Then fileCount = fileCount + 1 Call o.ExtractFile (FullPath) End If End Forall End If End Function Function GetFileName() If ( rtitem.Type = RICHTEXT ) Then If (rtitem.EmbeddedObjects(0).Type = EMBED_ATTACHMENT ) Then GetFileName=rtitem.EmbeddedObjects(0).Source End If End If End Function Function Recurse(CurFolder As Variant) Dim Sub_RFolders As Variant Dim RFolders As Variant Set RFolders = CurFolder.SubFolders Forall y In RFolders Set Sub_RFolders = y.SubFolders If fso.fileexists(y.path+"\"+filename) Then temp=y.path+"\"+filename Call UpdateFile(temp) End If If Sub_RFolders.Count > 0 Then Recurse(y) End If End Forall End Function

This was first published in November 2000

Dig Deeper



Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:




  • iSeries tutorials's tutorials provide in-depth information on the iSeries. Our iSeries tutorials address areas you need to know about...

  • V6R1 upgrade planning checklist

    When upgrading to V6R1, make sure your software will be supported, your programs will function and the correct PTFs have been ...

  • Connecting multiple iSeries systems through DDM

    Working with databases over multiple iSeries systems can be simple when remotely connecting logical partitions with distributed ...