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

0 comments

Oldest 

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:

-ADS BY GOOGLE

SearchWindowsServer

Search400

  • iSeries tutorials

    Search400.com'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 ...

SearchEnterpriseLinux

SearchDataCenter

SearchExchange

SearchContentManagement

Close