Customer Stock Portfolios Company Company: Company Company name required to save form. 3S4S5S6S8S13SCompany Symbol: Ticker Symbol required to save form. 3S4S5S6S8S13STicker Current value: CurrentValue Current value required to save form.{ 3S4S5S6S8S13SCurrentValue Hidden field(s): Ticker CurrentValueV 1S4S7S2E CurrentQuote Debbie Williams [_jwI ,*!}g ox=G)r @=fBx Z~)4H 6ttCLZ $Modified 1S2S3S $TITLE$FormPrivs$FormUsers$Body$Flags$Class$Modified$Comment$AssistTrigger$AssistType$AssistFlags$UpdatedBy$$FormScript_O$C1$ 0SL1S $TITLE Customer Portfolio CN=Todd Flolo/OU=CAM/O=Lotus Position edit dialog Copy Of Position edit dialog Position delete dialog Stock Price Customer: All by name Stocks: All by ticker Customer Information Customer/All by name Customer\All by name Stocks\All by ticker Customers\All by name Stocks\All by $50 range Stocks\All by gain/loss Customers\All by $50K range Customers\All by performance Customers\All by state Debbie Williams all documents Summary Data Chris Smith Summaries\All Portfolio Review Brokerage Summary e coli David Folk Print Letter Untitled Print Letters Position add dialog Ticker Tickers Companies/By Name Companies\By Name Copy Of Companies\By Name Companies\By Ticker Companies\By Performance Company Copy Of Companies\By Ticker (By Ticker) Sell Stock dialog Copy Of Customer Portfolio Portfolio Copy Of Portfolio Customer tester Copy Of Customers\All by name Untitled\Untitled (templates) Template Form templates Copy Of Customer Template Customer Template Templates Buy stock dialog ($All) CN=David Folk/OU=CAM/O=Lotus Copy Of Buy stock dialog Sell stock dialog ect: f $CONTENT(BEGIN): $CONTENT(END) $CONTENT(BEGIN)@ CN=Todd Flolo/OU=CAM/O=Lotus Chris Smith CN=David Folk/OU=CAM/O=Lotus David Folk David Folk David Folk David Folk David Folk David Folk David Folk David Folk David Folk David Folk David Folk David Folk David Folk David Folk David Folk David Folk David Folk David Folk David Folk David Folk David Folk David Folk David Folk David Folk David Folk ox=G)r David Folk @=fBx David Folk David Folk [_jwI David Folk David Folk David Folk David Folk David Folk David Folk Z~)4H Z~)4H Z~)4H Z~)4H VTpo VTpo CustNamePortValue$Conflict$REF$C1$ Customer L1S2S3S CustName New Customer My test ***New Customer*** *** N David FOlk Joe User David Folk Reeti Punja David Dave Davd Melvin Schwartz David Laucirica Chris Smith Leah Shriro Sandra Chinoporos Merry Morse Lance McVay Peter Rodman Stephen Morrisey Jon Marr Richare Feinman Scott Marsumoto Bill Clinton Carolyn Schwartz Jen Bonner Victor Shing Stephen Rupp Jerzy Kosinski Jim Jones Julius Irving Howard Stern Henry Louis Gates Scott Matsumoto Richard Feinman zzzzzzzz ttttttttttt 1ttttt David Folk! david folk David Eric Arthur-Blair Mary Ann Evans Gordon M. Sumner Samuel Clemens Charles Ludwidge Dodgson Francis Scott Key William Frederick Cody Amandine Dupin Stephen Belkin Holly Folk Chuck Carey Kate Story Damian Gallo Robert Dipianta Ken Perra Louis Messina Robert Ruta Wendy Waller Jeniffer Rudis Charles Carey Ellenore DeLaverne Ellie DeLaverne Jim Parsons Mathew Tuttleman Ronald Nathonson Lisa Archebald Lisa Archibald Lisa Radavich Tor Stahl Stephen Feige Baju Punja Canaan Renkie Andrew Tuykody Ravi Punja Ian Compton david david2 David's Test 0S0E EXT56648Lotus123.Workbook.97 "Arial Total: "Arial ' SmartMaster. This path will be used by ' scripts in the SmartMaster so it can ' access data in this Notes database. Handle.ActiveDocument.DocInfo.FieldManager.Fields( _ "Field2").Contents = db.Server ' Close and save the Word Pro SmartMaster ' MillCorp.MWP. Handle.Close (True) ' Close Word Pro. Handle.Quit Else Categori_ze _Edit Document Send Docu_ment _Forward _Move To Folder... _Remove From Folder_ Print form letters for all clients'++LotusScript Development Environment:2:5:(Options):0:66 '++LotusScript Development Environment:2:5:(Forward):0:1 Declare Sub Click(Source As Button) Declare Sub DetachTemplateLetter '++LotusScript Development Environment:2:5:(Declarations):0:2 '++LotusScript Development Environment:2:2:BindEvents:1:129 Private Sub BindEvents(Byval Objectname_ As String) Static Source As BUTTON Set Source = Bind(Objectname_) On Event Click From Source Call Click End Sub '++LotusScript Development Environment:2:2:Click:1:12 Sub Click(Source As Button) Dim Session As New NotesSession Dim Db As NotesDatabase Dim View As NotesView Dim Doc As NotesDocument Set Db = Session.CurrentDatabase Set View = Db.GetView("Customers\All by name") Set Doc = View.GetFirstDocument Dim Handle As Variant ' The file, Temp.lwp, is stored in another document in ' the database. The following local sub, ' DetachTemplateLetter, is also defined with the button. ' It locates the document containing Temp.lwp, and ' detaches Temp.lwp to the current drive. DetachTemplateLetter ' Get Word Pro, make it visible, and open Temp.lwp: Set Handle = CreateObject("WordPro.Application") Handle.Visible = True ' Loop for each document in the Notes view. While Not (Doc Is Nothing) ' Open the template document Handle.OpenDocument Curdrive$() + "\Temp.lwp" ' Get customer's name from field CustName in the ' current document and write it in two places in ' Temp.lwp: Dim TheCustomer As String TheCustomer = Doc.GetFirstItem("CustName").Text Call Handle.Foundry.ClickHeres( "Name" _ ).InsertText(TheCustomer) Call Handle.Foundry.ClickHeres( "Greeting" _ ).InsertText("Dear " + TheCustomer + ":" ) ' Get street address from field CustAddress1 in the ' current document and write to Temp.lwp: Dim Address1 As String Address1 = Doc.GetFirstItem("CustAddress1").Text Call Handle.Foundry.ClickHeres("Address" _ ).InsertText(Address1) ' Get city, state, and zip from field CustAddress2 in ' the current document and write to Temp.lwp: Dim Address2 As String Address2 = Doc.GetFirstItem("CustAddress2").Text Call Handle.Foundry.ClickHeres("CityStateZip" _ ).InsertText(Address2) ' Get the portfolio's value from field PortValue in ' the current document and write to Temp.lwp: Dim PortFolioValue As String PortFolioValue = doc.GetFirstItem("PortValue").Text Call Handle.Foundry.ClickHeres("Portfolio Info" _ ).InsertText("Portfolio value: $" + PortFolioValue) ' Depending on the portfolio's value, write a ' different closing sentence in Temp.lwp: Dim ClosingSentence As String If Clng (PortFolioValue) < 5000 Then ClosingSentence = "Feel free to contact us" _ + " with any questions regarding your account." Else ClosingSentence = "Your account is important" _ + " to us! One of our brokers will contact you soon." End If Call Handle.Foundry.ClickHeres("Closing" _ ).InsertText(ClosingSentence) ' Write author's name in letter. Call Handle.Foundry.ClickHeres( "YourName" _ ).InsertText(session.CommonUserName ) ' Print file and close it without saving changes. Handle.Print Handle.Close False ' Get the next document in the Notes view. Set doc = view.GetNextDocument(doc) Wend ' Exit Word Pro. Handle.Quit ' Delete Temp.lwp from the current drive. Kill Curdrive$() + "\Temp.lwp" End Sub '++LotusScript Development Environment:2:2:DetachTemplateLetter:1:8 Sub DetachTemplateLetter ' The following sub detaches the attached file Temp.lwp ' from a Template document in the Notes database to the ' current drive on the local machine. Dim Session As New NotesSession Dim Db As NotesDatabase Dim View As NotesView Dim TemplateDocument As NotesDocument Set Db = session.CurrentDatabase Set View = Db.GetView("Templates") ' Set TemplateDocument to the first document in the Notes ' view Templates. Set TemplateDocument = View.GetFirstDocument ' Loop for each document in Templates. While Not (TemplateDocument Is Nothing) ' If the docment's subject field contains the string ' "Customer Letter", then extract the file attachment ' Temp.lwp. Otherwise, get the next document in ' the view. If TemplateDocument.GetFirstItem("Subject").text = _ "Customer Letter" Then Dim Rtitem As Variant Dim Object As NotesEmbeddedObject Set Object = TemplateDocument.GetAttachment( _ "Temp.lwp" ) Call Object.ExtractFile (Curdrive$() + _ "\Temp.lwp") End If Set TemplateDocument = _ View.GetNextDocument(TemplateDocument) Wend End Sub Install MillCorp SmartMaster'++LotusScript Development Environment:2:5:(Options):0:66 '++LotusScript Development Environment:2:5:(Forward):0:1 Declare Sub Initialize Declare Sub Click(Source As Button) '++LotusScript Development Environment:2:5:(Declarations):0:2 '++LotusScript Development Environment:2:2:BindEvents:1:129 Private Sub BindEvents(Byval Objectname_ As String) Static Source As BUTTON Set Source = Bind(Objectname_) On Event Click From Source Call Click End Sub '++LotusScript Development Environment:2:2:Initialize:1:10 Sub Initialize End Sub '++LotusScript Development Environment:2:2:Click:1:12 Sub Click(Source As Button) ' This sub detaches the attached SmartMaster file ' MillCorp.MWP from a Template document in the Notes ' database to a drive on the local machine. Dim Session As New NotesSession Dim Db As NotesDatabase Dim View As NotesView Dim TemplateDocument As NotesDocument ' Access the Templates view in the current database. Set Db = Session.CurrentDatabase Set View = Db.GetView("Templates") ' Set TemplateDocument to the first document in the Notes ' view Templates. Set TemplateDocument = View.GetFirstDocument ' Loop for each document in Templates. While Not (TemplateDocument Is Nothing) ' If the docment's subject field contains the string ' "SmartMaster:MillCorp", then extract the file ' attachment MillCorp.MWP. Otherwise, get the next ' document in the view. If TemplateDocument.GetFirstItem("Subject").Text = _ "SmartMaster:MillCorp" Then Dim InstallingTo As String Dim Rtitem As Variant Dim Object As NotesEmbeddedObject Set Object = TemplateDocument.GetAttachment( _ "MillCorp.MWP" ) ' Give the user the option to detach the file to ' a different path. InstallingTo = Inputbox$( "The file will " _ + "install to the following directory: ", _ "Detaching file:", "C:\LOTUS\SMASTERS\WORDPRO") If InstallingTo <> "" Then ' Detach the file. Call Object.ExtractFile (InstallingTo + "\MillCorp.MWP") ' Get an object handle to Word Pro. Dim Handle As Variant Set Handle = CreateObject( _ "WordPro.Application") ' Make Word Pro visible. Handle.Visible = True ' Open the file MillCorp.MWP. Handle.OpenDocument InstallingTo + _ "\MillCorp.MWP" ' Write the name of ' this Notes database to a field in the ' SmartMaster. This path will be used by ' scripts in the SmartMaster so it can ' access data in this Notes database. Handle.ActiveDocument.DocInfo.FieldManager.Fields( _ "Field1").Contents = db.FileName ' Write the name of ' this Notes database to a field in the ' SmartMaster. This path will be used by ' scripts in the SmartMaster so it can ' access data in this Notes database. Handle.ActiveDocument.DocInfo.FieldManager.Fields( _ "Field2").Contents = db.Server ' Close and save the Word Pro SmartMaster ' MillCorp.MWP. Handle.Close (True) ' Close Word Pro. Handle.Quit Else ' If the user clicked Cancel then ' InstallingTo contains an empty string. Msgbox "No file detached." End If End If Set TemplateDocument = view.GetNextDocument(_ TemplateDocument) Wend End Sub (Untitled)'++LotusScript Development Environment:2:5:(Options):0:66 '++LotusScript Development Environment:2:5:(Forward):0:1 Declare Sub Click(Source As Button) '++LotusScript Development Environment:2:5:(Declarations):0:2 '++LotusScript Development Environment:2:2:BindEvents:1:129 Private Sub BindEvents(Byval Objectname_ As String) Static Source As BUTTON Set Source = Bind(Objectname_) On Event Click From Source Call Click End Sub '++LotusScript Development Environment:2:2:Click:1:12 Sub Click(Source As Button) End Sub }t # CN=Scott Matsumoto/OU=CAM/O=Lotus FOLDER_DIRECTORY_OBJECT David Folk $Modified 1S2S3S $TITLE$FormPrivs$FormUsers$Body$Flags$Class$Modified$Comment$AssistTrigger$AssistType$AssistFlags$UpdatedBy$$FormScript_O 0SL1S3724 $TITLE CN=Todd Flolo/OU=CAM/O=Lotus ########### Customers\All by name David Folk^ CustNamePortValue$Conflict$REF Customer L1S2S3S1 CustName CustNameCustomer NamePortValuePortfolio Value& ##################### CN=Todd Flolo/OU=CAM/O=LotusChris SmithMain############ CN=Todd Flolo/OU=CAM/O=Lotus#################################### Debbie WilliamsDebbie WilliamsSummary Data Debbie Williamst CustNamePortValueCustAnGain$Conflict$REF Customer Portfolio L1S2S3S1 CustName CustNameCustomer NamePortValuePortfolio ValueCustAnGainAnnualized Gain& PYV############################################ 123temp.123 #TemplateNew Customer David FolkCN=David Folk/OU=CAM/O=Lotus& ########################################################## ########################################################## 30719 David Folk ########################################################## 2David Folk David Folk####################################################### Print Letters EDavid Folk4 David FolkfL3 ############################ David Folk############# David Folk############# David Folk############# David Folk############# David Folk############# David Folk############# David Folk############# David Folk############# David Folk############# David Folk############# David Folk############# David Folk############# David Folk############# David Folk############# David Folk############# David Folk############# David Folk############# David Folk############# David Folk############# David Folk############# David Folk############# David Folk############# ox=G)r David Folk############# @=fBx David Folk############# David Folk############# [_jwI David Folk############# David Folk############# David Folk############# David Folk############# David Folk############# David Folk############# David Folk############# CBuy stock dialog CN=David Folk/OU=CAM/O=LotusCD StockNameAndValueNewStockQuoteNumberSharesNumberOf######################################################## Company David Folk CurrentQuoteCurrentValueTickerCompany################## Companies\By Ticker David Folkx TickerCompanyCurrentValueCurrentQuote$Conflict$REF Company L1S2S3S2E1 Ticker TickerTickerCompanyCompanyCurrentValueCurrent valueCurrentQuoteHidden column& ################### Z~)4H PortValueValForFX @1-2-3 6.0 Worksheet ABCCustomer CN=David Folk/OU=CAM/O=Lotus PorListPosListBodyCustAddress2CustAddress1PortValueCustName############################## Templates David FolkR Subject$Conflict$REF Template L1S2S3S1 Subject& PortValueValForFX @1-2-3 6.0 Worksheet ABCTemplate David Folk BodySubject########################## 'IBMCompanyIBMIBM [@IBM @ 110.5 David Folk ############################################## 'IADCompanyInland SteelIAD 1@IAD @ 17.5 David Folk ###################################### 'INTUCompanyIntuitINTU `B@INTU @ 36.75 David Folk ######################################## 'MCICCompanyMCIMCIC :@MCIC @ 26 David Folk ############################################## 'MDCompanyMcDonnell DouglasMD H@MD @ 49.875 David Folk ################################## 'MOBCompanyMobilMOB \@MOB @ 114.5 David Folk ############################################ 'BJICACompanyBen & Jerry'sBJICA 0@BJICA @ 16 David Folk ################################# 'BORLCompanyBorland InternationalBORL @!@BORL @ 8.625 David Folk ######################### 'CPBCompanyCampbell SoupCPB P@CPB @ 67.375 David Folk ################################### 'BIKECompanyCannondaleBIKE 2@BIKE @ 18 David Folk ############### 'DISCompanyWALT DISNEY COMPANYDIS L@DIS @ 57.25 David Folk ###################### 'BKBCompanyBank of BostonBKB `K@BKB @ 54.75 David Folk ################################### 'BUDCompanyAnheuser-BuschBUD R@BUD @ 75.125 David Folk ########################## 'AXPCompanyAmerican ExpressAXP F@AXP @ 45.125 David Folk ################################ 'AETCompanyAetna Life and CasualtyAET P@AET @ 67.75 David Folk ########################## 6ttCLZ 'THDOCompany3DOTHDO @THDO @ 8.25 David Folk ############################################ 'CBSCompanyCBSCBS 2@CBS @ 18.75 David Folk ############################################## 'DALCompanyDelta Air LinesDAL pQ@DAL @ 69.75 David Folk ################################## 'DOLCompanyDole FoodDOL D@DOL @ 41.75 David Folk ######################################## 'DOWCompanyDow ChemicalDOW S@DOW @ 79.75 David Folk ##################################### 'DDCompanyDuPontDD T@DD @ 83.625 David Folk ############################################# 'EKCompanyEastman KodakEK pR@EK @ 73.75 David Folk ####################################### 'FNMCompanyFederal National Mortgage AssociationFNM @@@FNM @ 32.5 David Folk ############# 'FCompanyFord MotorF @@F @ 33.625 David Folk ############################################ 'GTCompanyGoodyear Tire & RubberGT G@GT @ 47 David Folk ################################ 'GTECompanyGTEGTE D@GTE @ 40.25 David Folk ###################### 'HSYCompanyHershey FoodsHSY U@HSY @ 87.625 David Folk ################################### 'HDCompanyHondaHD pJ@HD @ 52.875 David Folk ############################################## 'INTCCompanyIntelINTC S@INTC @ 79.5 David Folk ########################################## 'JPMCompanyJ.P. MorganJPM V@JPM @ 91.625 David Folk ##################################### 'LCompanyLiberty FinancialL @>@L @ 30.25 David Folk ###################################### 'MMMCompanyMinnesota, Mining and Manufacturing (MMM)MMM Q@MMM @ 68.5 David Folk ######### 'NOCCompanyNorthrop GrummanNOC R@NOC @ 72 David Folk #################################### 'ORCLCompanyOracleORCL C@ORCL @ 39 David Folk ########################################### 'PETMCompanyPETsMARTPETM 8@PETM @ 24.87 David Folk ###################################### 'PSIXCompanyPSInetPSIX @&@PSIX @ 11.125 David Folk ####################################### 'QDEKCompanyQuarterdeckQDEK @QDEK @ 8.44 David Folk #################################### 'RBKCompanyReebokRBK 0B@RBK @ 36.375 David Folk ########################################## 'RBDCompanyRubbermaidRBD ;@RBD @ 27.875 David Folk ###################################### 'SSPCompanyScripps HowardSSP F@SSP @ 45.25 David Folk ################################### 'SEGCompanySeagate TechnologySEG I@SEG @ 50.25 David Folk ############################### 'SPGLACompanySpiegelSPGLA !@SPGLA @ 8.75 David Folk ##################################### 'STKCompanyStorage TechnologySTK @C@STK @ 38.5 David Folk ################################ 'TOYCompanyToys "R" UsTOY =@TOY @ 29.875 David Folk ##################################### 'UTXCompanyUnited TechnologiesUTX \@UTX @ 115.25 David Folk ############################# ,*!}g 'VOLVYCompanyVolvoVOLVY 4@VOLVY @ 20.625 David Folk ##################################### 'XRXCompanyXeroxXRX @L@XRX @ 56.5 David Folk ############################################# ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## Sell stock dialog CN=David Folk/OU=CAM/O=LotusCD StockNameAndValueStockQuoteNumberSharesNumberOfSharesToSell############################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## STG17094 STG14523 STG61162 STG12470Number of shares to buy:20INTC @ 79.5Stock name and value: STG31600 STG44670 STG41000 STG48369 STG55744 STG60358 EXT56076 EXT56076JournalBody CustomerHolly Folk @26 Fox Hill LaneKensington, CT 06037 CN=David Folk/OU=CAM/O=Lotus $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $Modified 1S2S3S $TITLE$FormPrivs$FormUsers$Body$Flags$Class$Modified$Comment$AssistTrigger$AssistType$AssistFlags$UpdatedBy$$FormScript_O$Private 0SL1S$PrivateDesignn4096 $TITLE Debbie Williams ############################################### Temp.lwp TemplateCustomer Letter David FolkCN=David Folk/OU=CAM/O=Lotus ############################### MillCorp.MWP{ TemplateSmartMaster:MillCorp David FolkCN=David Folk/OU=CAM/O=Lotus ###################################### ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## ########################################################## Lotus Development Inc 0wmS( PURSAF '|q/n O=Lotus O=Lotus PURSAFO O=Lotus OU=CAM/O=Lotus PURSAFO OU=CAM/O=Lotus CN=Todd Flolo/OU=CAM/O=Lotus mF"$U 1*%J c^;8m- PURSAFO )4X:s $ACLDigest "MS Sans Serif Total: "MS Sans Serif Lotus 1-2-3 97 Workbook 123Native97 Lotus123.Workbook.97 David Folk David Folk/CAM/Lotus Lotus Chart STG60358 STG31600 STG44670 STG41000 STG17094 STG14523 STG61162 STG12470 STG48369 STG55744 STG12891 STG05727 STG54645 STG13119 0S0E Documents created with this form are meant to store template files. Ordinarily, views containing documents like this are hidden. However, we exposed this view so you could see how we accessed each template file. (You hide a view by inclosing its name in parentheses.) When you create a Customer document, the file attached below is detached (to a path) and then embedded in the customer document. After the file is embedded, it is deleted from the path. This insures that any time a Customer document is created, the most current file is embedded. Open the Customer form and examine the Postopen event and DetachTemplateWorksheet sub to see how this works. 123temp.123 123temp.123 O=Lotus O=Lotus PURSAFO O=Lotus OU=CAM/O=Lotus PURSAFO OU=CAM/O=Lotus CN=David Folk/OU=CAM/O=Lotus PURSAFO ODe;o 123temp.123 l machine. ssion Dim D As NotesView Started running agent 'Print Letters' on 03/06/96 11:04:46 AM Running on selected documents: 1 total Found 1 document(s) that match search criteria ERROR: LotusScript did not run to completion. Ran LotusScript code Done running agent 'Print Letters' on 03/06/96 11:08:44 AM nV$DesignVersion$Version$Formula$FormulaClass$Collation$UpdatedBy$Collection$ViewContainer$TITLE$Index$ViewFormat$Comment$Flags$ACTIONS$SCRIPTOBJ_6$SCRIPTOBJ_7$SCRIPTOBJ_8IconBitmap$FlagsNoRefresh$DefaultNavigator$ACLDigest$Signature$Readers$Authors$FILEFormSubjectBody$Revisions$ReplVersion$ReplSrcServers$ReplClassMasks$ReplFormula$ReplView$ReplPrivateFolder$AssistVersion$AssistType$AssistLastRun$AssistDocCount$AssistFlags$MachineName$AssistTrigger$AssistInfo$AssistQuery$AssistAction$AssistAction_Ex$AssistRunInfo$FontsSharedPositionNewShares$Info$$Script_O$$ScriptName$$FormScript$$$FormScript_ONumberOfNumberSharesNewStockQuoteStockNameAndValue$Fields$BodyCompanyTickerCurrentValueCurrentQuoteNOTESFIELDSTitleCategoriesDocumentCommentsRevisionCommentsLastEditorSizeInPagesDocumentClassSizeInCharactersSizeInKDateLastRevisionDateNumberOfEditsEditingTimePageTitlesCustAnGainSPAnGain$ScriptCustNamePortValueCustAddress1CustAddress2PosListPorListTickerWithAposNumberOfSharesToSellStockQuote$Name$ReplFlags$OLEOBJINFO '++LotusScript Development Environment:2:5:(Options):0:66 Option Public '++LotusScript Development Environment:2:5:(Forward):0:1 Declare Sub Terminate Declare Sub Initialize Declare Function GetWordPro As Variant Declare Sub EnterClickHere( CHB As String, Value As String, app As Variant ) Declare Function OpenLetter (app As Variant) '++LotusScript Development Environment:2:5:(Declarations):0:2 '++LotusScript Development Environment:2:2:Terminate:1:10 Sub Terminate End Sub '++LotusScript Development Environment:2:2:Initialize:1:10 Sub Initialize Dim session As New NotesSession Dim db As NotesDatabase Dim collection As NotesDocumentCollection Dim doc As NotesDocument Dim i As Integer i = 1 Set db = session.CurrentDatabase Set collection = db.AllDocuments 'These variables will populate the Word Pro object Dim CustName As Variant Dim CustAddress1 As Variant Dim CustAddress2 As Variant Dim PortValue As Variant Dim CustAnGain As Integer Dim PortStr As String Dim SPAnGain As Integer Dim Closing As String 'This variable will be the Word Pro application object Dim theWPobject As Variant 'Prepare Word Pro and get the template letter Set theWPobject = GetWordPro() getanotherdoc: Set doc = collection.GetNthDocument( i ) 'Get customer's name and write it in the letter, where necessary Set CustName = doc.GetFirstItem("CustName") If ( CustName Is Nothing ) Then i = i + 1 Goto getanotherdoc End If 'Get street address and write it in the letter Set CustAddress1 = doc.GetFirstItem("CustAddress1") If ( CustAddress1 Is Nothing ) Then i = i + 1 Goto getanotherdoc End If 'Get city, state, and zip and write it in the letter Set CustAddress2 = doc.GetFirstItem("CustAddress2") If ( CustAddress2 Is Nothing ) Then i = i + 1 Goto getanotherdoc End If 'Build string consisting of portfolio value and percentage gain and write it in the letter Set PortValue = doc.GetFirstItem("PortValue") If ( PortValue Is Nothing ) Then i = i + 1 Goto getanotherdoc Else If SPAnGain > CustAnGain Then Closing= "We're doing fine and will contact you about some changes to your investment mix." Else Closing = "We're beating the S & P 500 - Aren't you glad you invested with us!" End If End If OpenLetter (theWPobject ) 'Set the current time stamp on the letter Call theWPobject.Text.InsertText( Now, False ) Call EnterClickHere( "Name", CustName.text ,theWPobject ) Call EnterClickHere( "Greeting", "Dear " + CustName.text + ":", theWPobject ) Call EnterClickHere( "Address", CustAddress1.text, theWPobject ) Call EnterClickHere( "CityStateZip", CustAddress2.text, theWPobject ) Call EnterClickHere( "Closing", Closing, theWPobject ) theWPobject.Visible = True Call theWPobject.Print Call theWPobject.Close(False) If (i = collection.Count) Then Call theWPobject.Quit Exit Sub Else i = i + 1 Goto getanotherdoc End If End Sub '++LotusScript Development Environment:2:1:GetWordPro:1:8 Function GetWordPro As Variant Set GetWordPro = CreateObject("WordPro.Application") End Function '++LotusScript Development Environment:2:2:EnterClickHere:1:8 Sub EnterClickHere( CHB As String, Value As String, app As Variant ) app.foundry.clickheres( CHB ).inserttext( Value ) End Sub '++LotusScript Development Environment:2:1:OpenLetter:1:8 Function OpenLetter (app As Variant) Call app.OpenDocument("C:\lotusphere\custsum.lwp") End Function O8 SD ]t David Folk PURSAF Notes Product Development )I^-. PURSAF Lotus Development Inc 0wmS( PURSAF ,}CwG9#c $TITLE $AssistType $AssistLastRun $AssistDocCount $AssistFlags $MachineName $AssistInfo $AssistQuery $AssistAction $AssistAction_Ex $UpdatedBy $Flags 5Courier New Buy stock dialog'++LotusScript Development Environment:2:5:(Options):0:66 '++LotusScript Development Environment:2:5:(Forward):0:1 Declare Sub Postopen(Source As Notesuidocument) Declare Sub Queryclose(Source As Notesuidocument, Continue As Variant) '++LotusScript Development Environment:2:5:(Declarations):0:2 '++LotusScript Development Environment:2:2:BindEvents:1:129 Private Sub BindEvents(Byval Objectname_ As String) Static Source As NOTESUIDOCUMENT Set Source = Bind(Objectname_) On Event Postopen From Source Call Postopen On Event Queryclose From Source Call Queryclose End Sub '++LotusScript Development Environment:2:2:Postopen:1:12 Sub Postopen(Source As Notesuidocument) Call Source.FieldSetText( "NumberShares", "" ) End Sub '++LotusScript Development Environment:2:2:Queryclose:1:12 Sub Queryclose(Source As Notesuidocument, Continue As Variant) End Sub Number of shares to buy: NumberOf NumberShares NewStockQuote Notes No Cache Companies\By Ticker 6S8S10S Stock name and value: StockNameAndValue Notes Product Development )I^-. PURSAF Lotus Development Inc 0wmS( PURSAF O=Lotus O=Lotus PURSAFO O=Lotus OU=CAM/O=Lotus PURSAFO OU=CAM/O=Lotus CN=David Folk/OU=CAM/O=Lotus PURSAFO !Oj,U 1ZnlZs $TITLE $Info $$Script_O $$ScriptName $$FormScript $$$FormScript_O $Body TickerCompanyCurrentValueCurrentQuote$Conflict$REF$C1$ Company L1S2S3S2E Ticker IBM @ 123.8 Inland Steel IAD @ 45 Intuit INTU @ 36 MCIC @ 56.25 McDonnell Douglas MD @ 79 Mobil MOB @ 35.6 BJICA Ben & Jerry's BJICA @ 45 Borland International BORL @ 14 Campbell Soup CPB @ 54 Cannondale BIKE @ 53 Capitol Cities/ABC DIS @ 78 Bank of Boston BKB @ 23 Anheuser-Busch BUD @ 100 American Express AXP @ 44 Aetna Life and Casualty AET @ 45 THDO @ 23 CBS @ 23 Delta Air Lines DAL @ 67 Dole Food DOL @ 56 Dow Chemical DOW @ 65 DuPont DD @ 78 Eastman Kodak EK @ 89 FNM @ 23 Ford Motor F @ 48 Goodyear Tire & Rubber GT @ 38 GTE @ 12 Hershey Foods HSY @ 76 Honda HD @ 98 Intel INTC @ 45 J.P. Morgan JPM @ 74 Liberty Financial L @ 37 MMM @ 69.3 Northrop Grumman NOC @ 34.56 Oracle ORCL @ 29.75 PETsMART PETM @ 23.9 PSInet PSIX @ 23.8 Quarterdeck QDEK @ 78 Reebok RBK @ 67 Rubbermaid RBD @ 23 Scripps Howard SSP @ 87.9 Seagate Technology SEG @ 32 SPGLA Spiegel SPGLA @ 65 Storage Technology STK @ 87.2 Toys "R" Us TOY @ 54 United Technologies UTX @ 32 VOLVY Volvo VOLVY @ 43 Walt Disney Xerox XRX @ 75 BIKE @ 18 AXP @ 45.125 AET @ 67.75 BJICA @ 16 BKB @ 54.75 BORL @ 8.625 BUD @ 75.125 CBS @ 18.75 CPB @ 67.375 DAL @ 69.75 DD @ 83.625 DIS @ 57.25 WALT DISNEY COMPANY DOL @ 41.75 DOW @ 79.75 EK @ 73.75 F @ 33.625 FNM @ 32.5 GTE @ 40.25 GT @ 47 HD @ 52.875 HSY @ 87.625 IAD @ 17.5 IBM @ 110.5 INTC @ 79.5 INTU @ 36.75 JPM @ 91.625 L @ 30.25 MCIC @ 26 MD @ 49.875 MMM @ 68.5 MOB @ 114.5 NOC @ 72 ORCL @ 39 PETM @ 24.87 PSIX @ 11.125 QDEK @ 8.44 RBD @ 27.875 RBK @ 36.375 SEG @ 50.25 SPGLA @ 8.75 SSP @ 45.25 STK @ 38.5 THDO @ 8.25 TOY @ 29.875 UTX @ 115.25 VOLVY @ 20.625 XRX @ 56.5 IBM1239 IBM1240 IBM1241 Companies\By TickerT otusCD StockNameAndValueNew$TITLEuo $TITLE $Indexed David Folk $UpdatedBy TickerCompanyCurrentValueCurrentQuote$Conflict$REF Company L1S2S3S2E CN=David Folk/OU=CAM/O=Lotus $Formula $UpdatedBy $FormulaClass Ticker vironment:2:2:BindEvTicker:1 $Collation TickerTickerCompanyCompanyCurrentValueCurrent valueCurrentQuoteHidden column& $PrivateDesign Minnesota, Mining and Ma ,*!}g Minnesota, Mining and Ma ,*!}g 6ttCLZ ,*!}g Federal National Mortgage Association Minnesota, Mining and Manufacturing (MMM) 6ttCLZ ,*!}g Federal National Mortgage Association Minnesota, Mining and Manufacturing (MMM) Federal National Mortgage Association Minnesota, Mining and Manufacturing (MMM) 6ttCLZ ,*!}g Categori_ze _Edit Document Send Docu_ment _Forward _Move To Folder... _Remove From Folder '++LotusScript Development Environment:2:5:(Options):0:66 '++LotusScript Development Environment:2:5:(Forward):0:1 Declare Sub EnterClickHere( CHB As String, Value As String, app As Variant ) '++LotusScript Development Environment:2:5:(Declarations):0:2 '++LotusScript Development Environment:2:2:BindEvents:1:129 Private Sub BindEvents(Byval Objectname_ As String) Static Source As BUTTON Set Source = Bind(Objectname_) End Sub '++LotusScript Development Environment:2:2:EnterClickHere:1:8 Sub EnterClickHere( CHB As String, Value As String, app As Variant ) app.foundry.clickheres( CHB ).inserttext( Value ) End Sub &Arial '++LotusScript Development Environment:2:5:(Options):0:74 Option Public '++LotusScript Development Environment:2:5:(Forward):0:1 Declare Sub Terminate Declare Sub WriteToSheet Declare Function GetCurrentPrice (ThisTicker As String) As String Declare Sub UpdatePrices Declare Function GetTicker (Quote As String) As String Declare Sub UpdatePortfolioValue '++LotusScript Development Environment:2:5:(Declarations):0:10 ' Handle is used as object handle. Dim Handle As Variant ' MyRange is used to access ranges in the embedded 1-2-3 ' document object. Dim MyRange As Variant ' Quote holds a stock quote, such as "IBM @ 119". Dim Quote As String ' Ticker holds a stock symbol, such as "IBM". Dim Ticker As String ' Price holds a stock's price, such as "119". Dim Price As String ' Holds a number of shares to buy or sell, such as "100" ' or "-100" Dim BlockOfShares As String ' Holds either the current date and time or the string ' "'SELL STOCK". Dim ThisDay As String ' Flag which is set when message box is displayed. ' This insures that the message box displays only once per document. Dim ShowUpdateMB As Integer '++LotusScript Development Environment:2:2:Terminate:1:10 Sub Terminate End Sub '++LotusScript Development Environment:2:2:WriteToSheet:1:8 Sub WriteToSheet ' This sub writes to several ranges in a row in the ' embedded 1-2-3 document object. ' ' If the user is purchasing stock when WriteToSheet is ' called, then the global variables Price, BlockOfShares, ' Ticker, and ThisDay already contain data for the ' per-share-price, number of shares, ticker symbol and ' date, respectively. ' ' If the user is selling stock when WriteToSheet is ' called, then the global variables Price, BlockOfShares, ' and Ticker already contain empty strings, and already ' ThisDay contains the string ' "SELL STOCK". ' ' In the embedded document object, the event ' CellValueChanged for the 1-2-3 range C:A5 is triggered ' whenever the range's contents changes. ' ' Depending upon the new contents of range C:A5 the script ' for the CellValueChanged event does one of the ' following: ' 1. If the range contains a new date, then 1-2-3 scripts ' process the transaction ' 2. If the range is empty, then a message box isdisplayed ' indicating that no stocks were sold. ' 3. If the range contains the text "'SELL STOCK" then a ' 1-2-3 dialog is displayed allowing the user to sell ' stocks. If the user sells stock in the dialog, the ' transaction is written to the ranges in the row and ' when the new date is written, 1-2-3 scripts process ' the transaction. Otherwise, the user cancelled the ' transaction, so the range's contents is removed and a ' message box is displayed indicating that no stocks ' were sold. Dim Workspace As New NotesUIWorkspace Dim Uidoc As NotesUIDocument ' Access the current Notes Customer document and put it in ' Edit mode. Set Uidoc = Workspace.CurrentDocument Uidoc.EditMode = True ' Make the global variable Handle an object handle to the ' embedded 1-2-3 worksheet object. Set Handle = Uidoc.GetObject("Journal") ' Write the global variables to the 1-2-3 worksheet ' object. Set MyRange = Handle.Ranges.Item("C:D5") MyRange.Contents = Price Set MyRange = Handle.Ranges.Item("C:C5") MyRange.Contents = BlockOfShares Set MyRange = Handle.Ranges.Item("C:B5") MyRange.Contents = Ticker Set MyRange = Handle.Ranges.Item("C:A5") MyRange.Contents = ThisDay End Sub '++LotusScript Development Environment:2:1:GetCurrentPrice:1:8 Function GetCurrentPrice (ThisTicker As String) As String ' This function returns the current price for a given ' ticker. First, it iterates through documents in the ' database view Companies\By Ticker until it finds one ' with a Ticker field whose contents matches ThisTicker. ' Then, it returns the CurrentValue field for the document ' containing the matching ticker. ' Depending on when the function is called, ThisTicker may ' or may not begin with an apostrophe. If it has an ' apostrophe, then the apostrophe is removed. If Instr (1,ThisTicker,"'") Then ThisTicker = Mid$(ThisTicker, 2, 10) End If Dim Session As New NotesSession Dim Db As NotesDatabase Dim View As NotesView Dim Doc As NotesDocument Set Db = Session.CurrentDatabase Set View = Db.GetView("Companies\By Ticker") Set Doc = View.GetFirstDocument While Not (Doc Is Nothing) If (Doc.GetFirstItem("Ticker").Text = ThisTicker ) _ Then GetCurrentPrice = _ Doc.GetFirstItem("CurrentValue").Text Set Doc = Nothing Else Set Doc = View.GetNextDocument(Doc) End If Wend End Function '++LotusScript Development Environment:2:2:UpdatePrices:1:8 Sub UpdatePrices ' This sub updates the stocks listed in the embedded 1-2-3 ' document object with the latest prices from the Company ' documents in the Notes database. Dim Workspace As New NotesUIWorkspace Dim Uidoc As NotesUIDocument Dim Doc As NotesDocument Dim X As String Dim Y As Integer ' Access the current Notes Customer document and put it in ' Edit mode. Set Uidoc = Workspace.CurrentDocument Uidoc.EditMode = True Set Doc = Uidoc.Document ' Make the global variable Handle an object handle to the ' embedded 1-2-3 worksheet object named Journal. Set Handle = Uidoc.GetObject("Journal") ' Set the global variable MyRange to the range containing ' the first stock ticker. Each block of stock in a ' portfolio is entered in descending rows, starting at row ' number 8. Set MyRange = Handle.Ranges.Item("B:C8") 'The variable Y is set to 8 (the number of the first row). Y = 8 ' Continue to loop while not at an empty range: While (MyRange.Contents <> "") Dim ThisTicker As String Dim LatestPrice As String ' Set the local variable ThisTicker to the contents ' of the range. ThisTicker = MyRange.Contents ' The global sub GetCurrentPrice looks up the current ' price for a given Ticker by iterating through the ' Notes view Companies\By ticker until it finds a ' document with a matching ticker and then reading ' the current value. Hence, the following line sets ' the variable LatestPrice to current price for a ' given ticker. LatestPrice = GetCurrentPrice (ThisTicker) ' Set X to the address of the range two columns to ' the right (the column containing prices), and make ' that range's contents match LatestPrice. X = "B:E"+ Cstr(Y) Set MyRange = Handle.Ranges.Item(X) MyRange.Contents = LatestPrice ' Increase Y by one so it corresponds to the next row ' number. Y = Y + 1 ' Set X to the address of the range in the column ' that contains tickers. X = "B:C"+ Cstr(Y) ' Set the global variable MyRange to the range that ' either contains the next stock ticker or is empty. Set MyRange = Handle.Ranges.Item(X) Wend End Sub '++LotusScript Development Environment:2:1:GetTicker:1:8 Function GetTicker (Quote As String) As String ' Return everything to the left of the first space in ' Quote. GetTicker = Trim$(Mid$(Quote, 1, Instr(Quote," "))) End Function '++LotusScript Development Environment:2:2:UpdatePortfolioValue:1:8 Sub UpdatePortfolioValue ' This sub updates the PortValue field in the current ' Notes Customer document with a value contained in a cell ' in the embedded 1-2-3 worksheet object. Dim Workspace As New NotesUIWorkspace Dim Uidoc As NotesUIDocument ' Access the current Notes Customer document and put it in ' Edit mode. Set Uidoc = Workspace.CurrentDocument Uidoc.EditMode = True ' Make the global variable Handle an object handle to the ' embedded 1-2-3 worksheet object. Set Handle = Uidoc.Getobject("Journal") ' Set the global variable MyRange to the range containing ' the value. Set MyRange = Handle.Ranges.Item("B:B3") ' Set the PortValue field in the current Notes Customer ' document to the value of the range. Uidoc.FieldSetText "PortValue", Cstr(MyRange.CellValue) End Sub Customer'++LotusScript Development Environment:2:5:(Options):0:66 '++LotusScript Development Environment:2:5:(Forward):0:1 Declare Sub Postmodechange(Source As Notesuidocument) Declare Sub Postopen(Source As Notesuidocument) Declare Sub Initialize Declare Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant) Declare Sub DetachTemplateWorksheet '++LotusScript Development Environment:2:5:(Declarations):0:2 '++LotusScript Development Environment:2:2:BindEvents:1:129 Private Sub BindEvents(Byval Objectname_ As String) Static Source As NOTESUIDOCUMENT Set Source = Bind(Objectname_) On Event Postmodechange From Source Call Postmodechange On Event Postopen From Source Call Postopen On Event Queryopen From Source Call Queryopen End Sub '++LotusScript Development Environment:2:2:Postmodechange:1:12 Sub Postmodechange(Source As Notesuidocument) End Sub '++LotusScript Development Environment:2:2:Postopen:1:12 Sub Postopen(Source As Notesuidocument) ' If the document is a new Customer document, embed a new ' 1-2-3 document object. This event uses the sub ' DetachTemplateWorksheet to detach a 1-2-3 file from ' document in the Notes database, and then embeds a copy ' of the 1-2-3 file as a 1-2-3 document object in the Body ' field of the new Customer document. Dim DocStatus As Integer DocStatus = Source.IsNewDoc If DocStatus = True Then ' The sub DetachTemplateWorksheet is defined with the ' Customer form. It detaches the attached file ' 123Temp.123 from a Template document in the Notes ' database to the current drive on the local machine. DetachTemplateWorksheet ' Move the insertion point to the field named Body. Source.Gotofield("Body") ' Embed a copy of 123Temp.123 as a 1-2-3 document ' object and set its Name property to "Journal". Call Source.CreateObject("Journal", ,Curdrive$() + _ "\123Temp.123") 'Msgbox "To see the 1-2-3 object update, you must activate it before performing your first transaction." + Chr(10) + _ '+ Chr(10) + "You activate the object in-place by double clicking it." + Chr(10) + _ ' + Chr(10) + "If you don't activate the object first, you can still perform transactions, but you won't see the" + Chr(10) + _ '"object update until you activate it." ,,"FYI" ShowUpdateMB = True End If End Sub '++LotusScript Development Environment:2:2:Initialize:1:10 Sub Initialize End Sub '++LotusScript Development Environment:2:2:Queryopen:1:12 Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant) End Sub '++LotusScript Development Environment:2:2:DetachTemplateWorksheet:1:8 Sub DetachTemplateWorksheet ' The following sub detaches the attached file 123Temp.123 ' from a Template document in the Notes database to the ' current drive on the local (user's) machine. Dim Session As New NotesSession Dim Db As NotesDatabase Dim View As NotesView Dim TemplateDocument As NotesDocument ' Access the Templates view in the current database. Set Db = Session.CurrentDatabase Set View = Db.GetView("Templates") ' Set TemplateDocument to the first document in the Notes ' view Templates. Set TemplateDocument = View.GetFirstDocument ' Loop for each document in Templates. While Not (TemplateDocument Is Nothing) ' If the docment's subject field contains the string ' "New Customer", then extract the file attachment ' 123Temp.123. Otherwise, get the next document in ' the view. If TemplateDocument.GetFirstItem("Subject").text = _ "New Customer" Then Dim Rtitem As Variant Dim Object As NotesEmbeddedObject Set Object = TemplateDocument.GetAttachment( _ "123Temp.123" ) Call object.ExtractFile (Curdrive$() + _ "\123Temp.123") End If Set TemplateDocument = _ view.GetNextDocument(TemplateDocument) Wend End Sub ,T }p 0S0E Name: CustName Portfolio Value: PortValue Street: CustAddress1 City, State, Zip: CustAddress2 '++LotusScript Development Environment:2:5:(Options):0:66 '++LotusScript Development Environment:2:5:(Forward):0:1 Declare Sub Click(Source As Button) '++LotusScript Development Environment:2:5:(Declarations):0:2 '++LotusScript Development Environment:2:2:BindEvents:1:129 Private Sub BindEvents(Byval Objectname_ As String) Static Source As BUTTON Set Source = Bind(Objectname_) On Event Click From Source Call Click End Sub '++LotusScript Development Environment:2:2:Click:1:12 Sub Click(Source As Button) ' Call the global sub UpdatePrices updates the ' stocks listed in the embedded 1-2-3 document object ' with the latest prices from the Company documents in ' this Notes database. UpdatePrices ' Call the global sub UpdatePortfolioValue, which updates ' the PortValue field in the current Notes Customer ' document with a value contained in a cell in the ' embedded 1-2-3 worksheet object. UpdatePortfolioValue End Sub New Button Need a newer version of Notes to execute this button. 0S0E Update '++LotusScript Development Environment:2:5:(Options):0:66 '++LotusScript Development Environment:2:5:(Forward):0:1 Declare Sub Click(Source As Button) '++LotusScript Development Environment:2:5:(Declarations):0:2 '++LotusScript Development Environment:2:2:BindEvents:1:129 Private Sub BindEvents(Byval Objectname_ As String) Static Source As BUTTON Set Source = Bind(Objectname_) On Event Click From Source Call Click End Sub '++LotusScript Development Environment:2:2:Click:1:12 Sub Click(Source As Button) Dim Workspace As New NotesUIWorkspace Dim Uidoc As NotesUIDocument Dim Doc As NotesDocument ' Access the current Notes document and put it in Edit ' mode: Set Uidoc = Workspace.CurrentDocument Set Doc = Uidoc.Document Uidoc.EditMode = True ' Display Buy stock dialog. This is a Notes dialog. ' If the user clicks OK, then write to the embedded 1-2-3 ' document object. Otherwise, display a messagebox ' indicating that no stock was purchased: If (Workspace.DialogBox ("Buy stock dialog", True, True, False, False, False,False,"Stock purchase")) Then ' Buy stock dialog contains a list box and a ' text box. The list box is made by reading Company ' documents in the Notes view Companies\By ticker. ' Each item in the list contains a string of data for a ' given document. ' ' The text box in the dialog is used to keep track of ' the number of shares to be purchased. ' ' Set the global variable Quote the selected string ' in the dialog: Quote = Doc.GetFirstItem("NewStockQuote").Text ' The GetTicker function is a global function. It ' extracts the ticker symbol from Quote. For example, ' if Quote were "IBM @ 123.8" it would return "IBM". ' Hence, the following line sets the global variable ' Ticker to the ticker in the Quote: Ticker = GetTicker (Quote) ' The global function GetCurrentPrice returns the ' current price for a given Ticker. First, it ' iterates through documents in the database view ' Companies\By Ticker until it finds one with a ' Ticker field whose contents matches the passed ' argument Ticker. Then, it reads the CurrentValue ' field for the document containing the matching ' ticker. Price = GetCurrentPrice (Ticker) ' Set the global variable BlockOfShares to the value ' of the text box in the Position add dialog. BlockOfShares = Doc.GetFirstItem("NumberShares").Text ' Set the global variable ThisDay to the current date ' and time. ThisDay = Date$ + " " + Time$ ' Test to make sure that BlockOfShares is an integer. Dim TestForInteger As Integer TestForInteger = Cint (BlockOfShares) ' If BlockOfShares is an integer, display ' confirmation input box. If TestForInteger > 0 Then If(Messagebox("Purchase " + BlockOfShares + _ " shares of " + Ticker + " at $" + Price + _ " a share?", MB_YESNO + 4 , "Purchase") = 6) _ Then ' If the user clicked OK in the ' confirmation input box, then call the ' global sub WriteToSheet to write the ' transaction to the embedded 1-2-3 ' document object and use call the global ' sub UpdatePortfolioValue to update the ' PortValue field in the current Notes ' Customer document. WriteToSheet UpdatePortfolioValue Else Messagebox "No stocks purchased",,"Notes" End If Else Messagebox "No stocks purchased",,"Notes" End If Else Messagebox "No stocks purchased",,"Notes" End If End Sub [h K4 New Button Need a newer version of Notes to execute this button. 0S0E Buy Stock '++LotusScript Development Environment:2:5:(Options):0:66 '++LotusScript Development Environment:2:5:(Forward):0:1 Declare Sub Click(Source As Button) '++LotusScript Development Environment:2:5:(Declarations):0:2 '++LotusScript Development Environment:2:2:BindEvents:1:129 Private Sub BindEvents(Byval Objectname_ As String) Static Source As BUTTON Set Source = Bind(Objectname_) On Event Click From Source Call Click End Sub '++LotusScript Development Environment:2:2:Click:1:12 Sub Click(Source As Button) Dim Workspace As New NotesUIWorkspace Dim Uidoc As NotesUIDocument Dim Doc As NotesDocument Set Uidoc = Workspace.CurrentDocument Uidoc.EditMode = True Set Doc = Uidoc.Document Dim temp As String ' Call the global sub UpdatePrices updates the stocks ' listed in the embedded 1-2-3 document object with the ' latest prices from the Company documents in this Notes ' database. ' UpdatePrices ' Get the contents of the portfolio someplace where our dialog ' will be able to see it ' Make the global variable Handle an object handle to the ' embedded 1-2-3 worksheet object. Set Handle = Uidoc.Getobject("Journal") Dim row As Integer row = 8 While(row <> 0) Set MyRange = Handle.Ranges.Item("B:C" + Cstr(row)) If (MyRange.contents = "") Then row = 0 Else 'number shares Set MyRange = Handle.Ranges.Item("B:D"+ Cstr(row)) temp = temp + MyRange.contents temp = temp + " shares " 'ticker Set MyRange = Handle.Ranges.Item("B:C" + Cstr(row)) temp = temp +" " + Mid$(MyRange.contents,2)+ " @" Set MyRange = Handle.Ranges.Item("B:E" + Cstr(row)) temp = temp + MyRange.contents + ";" row = row + 1 End If Wend Call Uidoc.FieldSetText( "PorList", temp ) If (Workspace.DialogBox ("Sell stock dialog", True, True, False, False, False,False,"Stock sale")) Then temp = Doc.GetFirstItem("StockQuote").Text temp = Mid$(temp, 2) Dim position As Integer position = Instr(temp," ") temp = Mid$(temp, position + 1) position = Instr(temp," ") temp = Mid$(temp, position + 1) position = Instr(temp," ") temp = Mid$(temp, position + 1) position = Instr(temp," ") Ticker = Trim (Mid$(temp,1, position)) position = Instr(temp,"@") temp = Mid$(temp, position + 1) Price =Trim ( temp ) ' Set the global variable BlockOfShares to the value ' of the text box in the Position add dialog. BlockOfShares = Doc.GetFirstItem("NumberShares").Text ' Set the global variable ThisDay to the current date ' and time. ThisDay = Date$ + " " + Time$ ' Test to make sure that BlockOfShares is an integer. Dim TestForInteger As Integer TestForInteger = Cint (BlockOfShares) ' If BlockOfShares is an integer, display ' confirmation input box. If TestForInteger > 0 Then If(Messagebox("Sell " + BlockOfShares + _ " shares of " + Ticker + " at $" + Price + _ " a share?", MB_YESNO + 4 , "Sale") = 6) _ Then BlockOfShares = "-" + BlockOfShares ' If the user clicked OK in the ' confirmation input box, then call the ' global sub WriteToSheet to write the ' transaction to the embedded 1-2-3 ' document object and use call the global ' sub UpdatePortfolioValue to update the ' PortValue field in the current Notes ' Customer document. WriteToSheet UpdatePortfolioValue Else Messagebox "No stocks sold",,"Notes" End If Else Messagebox "No stocks sold",,"Notes" End If Else Messagebox "No stocks sold",,"Notes" End If Call Uidoc.FieldSetText( "PorList", "" ) End Sub New Button Need a newer version of Notes to execute this button. 0S0E Sell Stock '++LotusScript Development Environment:2:5:(Options):0:66 '++LotusScript Development Environment:2:5:(Forward):0:1 Declare Sub Click(Source As Button) Declare Sub DetachTemplateLetter '++LotusScript Development Environment:2:5:(Declarations):0:2 '++LotusScript Development Environment:2:2:BindEvents:1:129 Private Sub BindEvents(Byval Objectname_ As String) Static Source As BUTTON Set Source = Bind(Objectname_) On Event Click From Source Call Click End Sub '++LotusScript Development Environment:2:2:Click:1:12 Sub Click(Source As Button) Dim Session As New NotesSession Dim Workspace As New NotesUIWorkspace Dim Uidoc As NotesUIDocument Dim Doc As NotesDocument Dim Handle As Variant ' The file, Temp.lwp, is stored in another document in ' the database. The following local sub, ' DetachTemplateLetter, is also defined with the button. ' It locates the document containing Temp.lwp, and ' detaches Temp.lwp to the current drive. DetachTemplateLetter ' Get the current Notes document: Set Uidoc = Workspace.CurrentDocument Set Doc = Uidoc.Document ' Get object handle to Word Pro, make it visible, and open ' Temp.lwp: Set Handle = CreateObject("WordPro.Application") Handle.Visible = True Handle.OpenDocument Curdrive$() + "\Temp.lwp" ' Get customer's name from field CustName in the current ' document and write it in two places in Temp.lwp: Dim TheCustomer As String TheCustomer = Doc.GetFirstItem("CustName").Text Call Handle.Foundry.ClickHeres( "Name" _ ).InsertText(TheCustomer) Call Handle.Foundry.ClickHeres( "Greeting" _ ).InsertText("Dear " + TheCustomer + ":" ) ' Get street address from field CustAddress1 in the ' current document and write to Temp.lwp: Dim Address1 As String Address1 = Doc.GetFirstItem("CustAddress1").Text Call Handle.Foundry.ClickHeres("Address" _ ).InsertText(Address1) ' Get city, state, and zip from field CustAddress2 in the ' current document and write to Temp.lwp: Dim Address2 As String Address2 = Doc.GetFirstItem("CustAddress2").Text Call Handle.Foundry.ClickHeres("CityStateZip" _ ).InsertText(Address2) ' Get the portfolio's value from field PortValue in the ' current document and write to Temp.lwp: Dim PortFolioValue As String PortFolioValue = doc.GetFirstItem("PortValue").Text Call Handle.Foundry.ClickHeres("Portfolio Info" _ ).InsertText("Portfolio value: $" + PortFolioValue) ' Depending on the portfolio's value, write a different ' closing sentence in Temp.lwp: Dim ClosingSentence As String If Clng (PortFolioValue) < 5000 Then ClosingSentence = "Feel free to contact us with " + _ "any questions regarding your account." Else ClosingSentence = "Your account is important to " + _ "us! One of our brokers will contact you soon." End If Call Handle.Foundry.ClickHeres("Closing"_ ).InsertText(ClosingSentence) ' Write author's name to letter. Call Handle.Foundry.ClickHeres( "YourName"_ ).InsertText(session.CommonUserName ) ' Print file and end Word Pro session without saving ' changes. Handle.Print Handle.Close False Handle.Quit ' Delete the LWP file from the current drive. Kill Curdrive$() + "\Temp.lwp" End Sub '++LotusScript Development Environment:2:2:DetachTemplateLetter:1:8 Sub DetachTemplateLetter ' The following sub detaches the attached file Temp.lwp ' from a Template document in the Notes database to the ' current drive on the local machine. Dim Session As New NotesSession Dim Db As NotesDatabase Dim View As NotesView Dim TemplateDocument As NotesDocument Set Db = session.CurrentDatabase Set View = Db.GetView("Templates") ' Set TemplateDocument to the first document in the Notes ' view Templates. Set TemplateDocument = View.GetFirstDocument ' Loop for each document in Templates. While Not (TemplateDocument Is Nothing) ' If the docment's subject field contains the string ' "Customer Letter", then extract the file attachment ' Temp.lwp. Otherwise, get the next document in ' the view. If TemplateDocument.GetFirstItem("Subject").text = _ "Customer Letter" Then Dim Rtitem As Variant Dim Object As NotesEmbeddedObject Set Object = TemplateDocument.GetAttachment( _ "Temp.lwp" ) Call Object.ExtractFile (Curdrive$() + _ "\Temp.lwp") End If Set TemplateDocument = _ View.GetNextDocument(TemplateDocument) Wend End Sub 0 0 ^0 K - K0 , New Button Need a newer version of Notes to execute this button. 0S0E Print Letter Hidden field(s): PosList PorList Notes Product Development )I^-. PURSAF Lotus Development Inc 0wmS( PURSAF O=Lotus O=Lotus PURSAFO O=Lotus OU=CAM/O=Lotus PURSAFO OU=CAM/O=Lotus CN=David Folk/OU=CAM/O=Lotus PURSAFO !Oj,U $TITLE $Info $Script $$Script_O $$ScriptName $$FormScript $$$FormScript_O $Body Subject$Conflict$REF$C1$ Template L1S2S3S New Customer Customer Letter SmartMaster:MillCorp tew Customer tmartMaster:MillCorp Tustomer Letter Portfolio templates David FolkX Subject$Conflict$REF Template Form L1S2S3S1 Subject& STG17499 STG40511 STG27776 STG11151 Categori_ze _Edit Document Send Docu_ment _Forward _Move To Folder... _Remove From Foldert Print form letters for all clients'++LotusScript Development Environment:2:5:(Options):0:66 '++LotusScript Development Environment:2:5:(Forward):0:1 Declare Sub Click(Source As Button) Declare Sub EnterClickHere( CHB As String, Value As String, app As Variant ) '++LotusScript Development Environment:2:5:(Declarations):0:2 '++LotusScript Development Environment:2:2:BindEvents:1:129 Private Sub BindEvents(Byval Objectname_ As String) Static Source As BUTTON Set Source = Bind(Objectname_) On Event Click From Source Call Click End Sub '++LotusScript Development Environment:2:2:Click:1:12 Sub Click(Source As Button) End Sub '++LotusScript Development Environment:2:2:EnterClickHere:1:8 Sub EnterClickHere( CHB As String, Value As String, app As Variant ) app.foundry.clickheres( CHB ).inserttext( Value ) End Sub &Arial '++LotusScript Development Environment:2:5:(Options):0:74 Option Public '++LotusScript Development Environment:2:5:(Forward):0:1 Declare Sub Terminate '++LotusScript Development Environment:2:5:(Declarations):0:2 '++LotusScript Development Environment:2:2:Terminate:1:10 Sub Terminate End Sub Template'++LotusScript Development Environment:2:5:(Options):0:66 '++LotusScript Development Environment:2:5:(Forward):0:1 Declare Sub Postmodechange(Source As Notesuidocument) Declare Sub Postopen(Source As Notesuidocument) Declare Sub Initialize Declare Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant) '++LotusScript Development Environment:2:5:(Declarations):0:2 '++LotusScript Development Environment:2:2:BindEvents:1:129 Private Sub BindEvents(Byval Objectname_ As String) Static Source As NOTESUIDOCUMENT Set Source = Bind(Objectname_) On Event Postmodechange From Source Call Postmodechange On Event Postopen From Source Call Postopen On Event Queryopen From Source Call Queryopen End Sub '++LotusScript Development Environment:2:2:Postmodechange:1:12 Sub Postmodechange(Source As Notesuidocument) End Sub '++LotusScript Development Environment:2:2:Postopen:1:12 Sub Postopen(Source As Notesuidocument) Dim DocStatus As Integer DocStatus = Source.IsNewDoc If DocStatus = True Then Dim session As New NotesSession Dim db As NotesDatabase Dim view As NotesView Dim TemplateDocument As NotesDocument Set db = session.CurrentDatabase Set view = db.GetView("templates") Set TemplateDocument = view.GetFirstDocument Dim doc As NotesDocument Dim rtitemA As Variant Dim rtitemB As Variant 'Dim object As NotesEmbeddedObject 'Loop for each document in the Notes view. While Not (TemplateDocument Is Nothing) If TemplateDocument.GetFirstItem("Subject").text = "Portfolio" Then Set rtitemA = TemplateDocument.GetFirstItem( "Cookie" ) ' Set object = rtitem.GetEmbeddedObject( "Lotus 1-2-3 97 Workbook" ) Set doc = Source.document Call doc.CreateRichTextItem( "Worksheet" ) Set rtitemB = doc.GetFirstItem( "Worksheet") If ( rtitemA.Type = RICHTEXT And _ rtitemB.Type = RICHTEXT ) Then ' Dim TheWorksheetObject As NotesEmbeddedObject Set rtitemA.EmbeddedObjects = rtitemA.EmbeddedObjects Msgbox(doc.HasEmbedded) 'Call rtitemA.AppendRTItem( rtitemB ) Else Msgbox(rtitemB.Type ) End If 'Call Source.FieldSetText("CustName", "THis Works") End If Set TemplateDocument = view.GetNextDocument(TemplateDocument) Wend End If End Sub '++LotusScript Development Environment:2:2:Initialize:1:10 Sub Initialize End Sub '++LotusScript Development Environment:2:2:Queryopen:1:12 Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant) End Sub #-l #} 0S0E Subject: Subject Body: 0S0E Documents created with this form are meant to store template files. Ordinarily, views containing documents like this are hidden. However, we exposed this view so you could see how we accessed each template file. (You hide a view by inclosing its name in parentheses.) MillCorp.MWP MillCorp.MWP Notes Product Development )I^-. PURSAF Lotus Development Inc 0wmS( PURSAF O=Lotus O=Lotus PURSAFO O=Lotus OU=CAM/O=Lotus PURSAFO OU=CAM/O=Lotus CN=David Folk/OU=CAM/O=Lotus PURSAFO !Oj,U ,9IZ8 MillCorp.MWP" David "Arial Total: "Arial Lotus 1-2-3 97 Workbook 123Native97 Lotus123.Workbook.97 David Folk David Folk/CAM/Lotus Lotus Chart STG48267 STG27094 STG52451 STG15421 STG38262 STG30303 STG51720 STG02609 "MS Sans Serif Total: "MS Sans Serif Lotus 1-2-3 97 Workbook 123Native97 Lotus123.Workbook.97 David Folk David Folk/CAM/Lotus Lotus Chart Cancel PORTVALUE Chart 4 Chart 2 #,I|j I?h&[ ,Z.Sr =J$5" I?h&[ Vr$= 5~yBF jm]{m LaE8vz r$A\3 Arial >".Z+ ]eYd9 z2223Y OFFFFk Arial PORTVALUE 'Total: CellValueChange CellContentsChange 5Courier New Sell stock dialog'++LotusScript Development Environment:2:5:(Options):0:66 '++LotusScript Development Environment:2:5:(Forward):0:1 Declare Sub Postopen(Source As Notesuidocument) Declare Sub Queryclose(Source As Notesuidocument, Continue As Variant) '++LotusScript Development Environment:2:5:(Declarations):0:2 '++LotusScript Development Environment:2:2:BindEvents:1:129 Private Sub BindEvents(Byval Objectname_ As String) Static Source As NOTESUIDOCUMENT Set Source = Bind(Objectname_) On Event Postopen From Source Call Postopen On Event Queryclose From Source Call Queryclose End Sub '++LotusScript Development Environment:2:2:Postopen:1:12 Sub Postopen(Source As Notesuidocument) Call Source.FieldSetText( "NumberShares", "" ) End Sub '++LotusScript Development Environment:2:2:Queryclose:1:12 Sub Queryclose(Source As Notesuidocument, Continue As Variant) End Sub Number of shares to sell: NumberOfSharesToSell NumberShares StockQuote PorList Stock portfolio: StockNameAndValue Notes Product Development )I^-. PURSAF Lotus Development Inc 0wmS( PURSAF O=Lotus O=Lotus PURSAFO O=Lotus OU=CAM/O=Lotus PURSAFO OU=CAM/O=Lotus CN=David Folk/OU=CAM/O=Lotus PURSAFO !Oj,U $TITLE $Info $$Script_O $$ScriptName $$FormScript $$$FormScript_O $Body $Modified 1S2S3S $TITLE$FormPrivs$FormUsers$Body$Flags$Class$Modified$Comment$AssistTrigger$AssistType$AssistFlags$UpdatedBy$$FormScript_O$Private$C1$ 0SL1S $TITLE Summary Data Debbie Williams Debbie WilliamsDebbie Williams 12/06/95 13:21:55 Todd Flolo/CAM/Lotus added OtherDomainServers 12/06/95 13:21:55 Todd Flolo/CAM/Lotus added LocalDomainServers 12/06/95 13:21:55 Todd Flolo/CAM/Lotus added Todd Flolo/CAM/Lotus 12/06/95 13:21:55 Todd Flolo/CAM/Lotus updated -Default- -Default- CN=Todd Flolo/OU=CAM/O=Lotus LocalDomainServers OtherDomainServers Gqu") O=MZ; %Dq:( D3YU)_x]D t_)i=UP uv##=V R@]tMK 0=Nq6 md]FB2 ]o5.KF I3(.KF hK;Il? UgRo% i"QyY cgJ8E 7G7Ibob mU u P8*uz1&_ ^^SD* `N/F&\ Uy^cA l\svf `Hjje Uy^c- K=g8h az^q& YOskv6S /)u-| :a}ab bv=H4 ,|u'Y 3.F.? iZRRk 7G7Ibob A3Z2K :g]Hj{-q 85gD[ U`S^'8 n^]U "R/@T zT-E} dd|T{ `\k Q 5:>]U Kz>z>z$JGo 5:>]T 5:>]T S"P%I"K >lIlTcw Kz>z>z$JG _fa1f s{vlL Kz>T{ 5:>]T Kz>z>z$JF k%F7p 0.51R rK!{G Kz>z>z$JG ;Xf70 lf8;Xnon Kz$JF Kz>z>z>T{ Kz>T{ l\svf ;y+!{G lslTcw `\i,+\x 5:>]T Kz>z>T{ 5:>]T !-,-1r5M bR2Yi l!:V# X&7I2 DH)Kz$JG DH)Kz$JE dg'$h^ )kDxO 'Z5U* ,|u'Y NTcw6 Tcw6! GZ&}[ A?VtD ~NpC9 _IO7'8! qq?X*! -K-fZ ttt]x@ 41q^YX hj[UUUU< n1gaY~}UU= 2jdso n1gaY~}UU?) #CE)Z9 TuEE 2jdso n1gaY~}UU?) WbpLn U2VkmB- b+j#mBKe (7BZl q[(n? mACj5 0S0E Documents created with this form are meant to store template files. Ordinarily, views containing documents like this are hidden. However, we exposed this view so you could see how we accessed each template file. (You hide a view by inclosing its name in parentheses.) Temp.lwp Temp.lwp Notes Product Development )I^-. PURSAF Lotus Development Inc 0wmS( PURSAF O=Lotus O=Lotus PURSAFO O=Lotus OU=CAM/O=Lotus PURSAFO OU=CAM/O=Lotus CN=David Folk/OU=CAM/O=Lotus PURSAFO !Oj,U Temp.lwp" eiZ])4 JM&s6Wj oz Fu W4Eo5 rQo5.K &EnL%O ?F+tB /V+rXS n+Rp~ K].hY LL,bdV ei!`R W8+X!9 _z_z^ z6 U= Q/TK^ #G4l@ 0y,wEyz :6 U= wLyz+ Q.}0]& 6+azX \wK?:$ /~On3 zYnK@ \wK?<) Ej@e@\L U+&FX U+&F_v i[clm cli3J/ bIY|_ =MKbJ3 OY"tR Vhu 2 \)jhy Nf+9$ gf_$Z 6_kJ^E =MKn* _F3VR dV&uS _F3VR q0fou A>M+lm 1%.\)J c5e+8 Y"TL] _F3VR ~w+iy w\I'1 e$g>E /Lrvc 1u~b5 _F3VR q0fou 4|b-z u?[)j _F3VR y&cxQ. )q#=! `R&%h" gtA/Lg ?U/TQ, wPk)j Gg^* r )61Dv&Y %H8(D @@ oF ADv0 &)zLKI /Dv&Y kDv0' aDv0' r!k'1 kDv0' f2u 21 `R&%Lb %H8(D `R&%Lb rLU}j 1E>3\> kws)T 4N;,%g uO%(AP `(APl `(API ~aN> `&A

&Ab. m<# Q B(4!@ /\<2iP0 pqSq\ W%Wi8 E9'W>^ rbWXp uO%ei{ v71E2I 3;UL' x888& _%hb/[ UUUU: ^kr@@ i\fJ$O" ^kr@@ ,ye+X fx9 ! i\fJ$O" zjv M )RU(? z7)vh -V!dZ 3K\KR kIHuM f[;NeD ~:'EI _@4?G b>bC&+ Ui:W*>_ b>k"> ',yy'gj8 %_hv? rJgmH h$rG$qkm ! =`; cEU)] PORTVALUE B:C8..B:C100 B:F8..B:F100 B:F8..B:F9 Cancel PORTVALUE Chart 4 Chart 2 David Folk############# David Folk############# David Folk############# David Folk############# David Folk############# David Folk############# David Folk############# David Folk############# David Folk############# David Folk############# David Folk############# David Folk############# ox=G)r David Folk############# @=fBx David Folk############# David Folk############# [_jwI David Folk############# David Folk############# David Folk############# David Folk############# "Arial Total: "Arial Lotus 1-2-3 97 Workbook 123Native97 Lotus123.Workbook.97 David Folk David Folk/CAM/Lotus Lotus Chart "MS Sans Serif Total: "MS Sans Serif EXT56076 Lotus 1-2-3 97 Workbook 123Native97 Lotus123.Workbook.97 David Folk David Folk/CAM/Lotus Lotus Chart Arial Arial PORTVALUE 'Total: 'BJICA '2/3/97 11:23:35 AM '2/3/97 11:22:21 AM 'BJICA '2/3/97 11:22:40 AM '2/3/97 11:22:49 AM '2/3/97 11:23:06 AM '2/3/97 11:23:22 AM '2/3/97 11:23:35 AM CellValueChange CellContentsChange PORTVALUE B:C8..B:C100 B:F8..B:F100 B:F8..B:F9 Cancel PORTVALUE Cancel PORTVALUE Chart 4 Chart 2 ol from Quote. For example, ' if Quote were "IBM @ 123.8" it would return "IBM". ' Hence, the following line sets the global variable ' Ticker to the ticker in the Quote: Ticker = GetTicker (Quote) ' The global function GetCurrentPrice returns the ' current price for a given Ticker. First, it ' iterates through documents in the database view ' Companies\By Ticker until it finds one with a ' Ticker field whose contents matches the passed ' argument Ticker. Then, it reads the CurrentValue ' field for the document containing the matching ' ticker. Price = GetCurrentPrice (Ticker) ' Set the global variable BlockOfShares to the value ' of the text box in the Position add dialog. BlockOfShares = Doc.GetFirstItem("NumberShares").Text ' Set the global variable ThisDay to the current date ' and time. ThisDay = Date$ + " " + Time$ ' Test to make sure that BlockOfShares is an integer. Dim TestForInteger As Integer TestForInteger = Cint (BlockOfShares) ' If BlockOfShares is an integer, display ' confirmation input box. If TestForInteger > 0 Then If(Messagebox("Purchase " + BlockOfShares + _ " shares of " + Ticker + " at $" + Price + _ " a share?", MB_YESNO + 4 , "Purchase") = 6) _ Then ' If the user clicked OK in the ' confirmation input box, then call the ' global sub WriteToSheet to write the ' transaction to the embedded 1-2-3 ' document object and use call the global ' sub UpdatePortfolioValue to update the ' PortValue field in the current Notes ' Customer document. WriteToSheet UpdatePortfolioValue Else Messagebox "No stocks purchased",,"Notes" End If Else Messagebox "No stocks purchased",,"Notes" End If Else Messagebox "No stocks purchased",,"Notes" End If End Sub Cancel PORTVALUE Chart 4 Chart 2 ^aZ97 \xe\C \Be\C @4q7L@ $ 2c k VLQSgdBr*i Chart 4 Chart 2 "System Arial [h K4 Arial PORTVALUE 'Total: 'BJICA 'INTC '2/3/97 11:24:25 AM 'INTC '2/3/97 11:22:21 AM 'BJICA '2/3/97 11:22:40 AM '2/3/97 11:22:49 AM '2/3/97 11:23:06 AM '2/3/97 11:23:22 AM '2/3/97 11:23:35 AM '2/3/97 11:24:25 AM 'INTC CellValueChange CellContentsChange PORTVALUE B:F8..B:F9 B:F8..B:F100 B:C8..B:C100 XiOQ )Py ) GwJ;) YS9S9= *g*g' )WG\/ 7rfY7D'?5WWD |EW|~z =E|M5l D?5YKY{vEuP5 BridM9 r*z2zb =1EuVD tY7D;?5Y vWl'?; jgecU W_+oZ S=OF^ OFyVR e;S;+ #TCTW N~L$tY4 W_+oZ dy]dM OFFFFP z2222 ]s|E_ YKY@S;+ k|M5OFFFFOFFFFOYe z2222 D;?5\ z2222 WYe-e D;?5\ OFFF^ j|D;>" OFFFOFFFNV: z222+TImn A1}/K: z222z22b N2T!{ %CbT6!a- =|Y Z%$$G[T )/N2T JM$1C N2U ^ H]9.JB !a.JK tJ&ye] y(&~T w{M:! eLBb Cancel PORTVALUE Chart 4 Chart 2 "MS Sans Serif BJICA "MS Sans Serif $1,600.00 $1,259.25 $5,625.00 $3,637.50 $8,287.50 $6,571.88 1-2-3 document object with the ' latest prices from the Company documents in this Notes ' database. ' UpdatePrices ' Get the contents of the portfolio some INTC2 $1,590.00 urnal") Dim row As Integer row = 8 While(row <> 0) Set MyRange = Handle.Ranges.Item("B:C" + Cstr(row)) If (MyRange.contents = "") Then row = 0 Else 'number shares Set MyRange = Handle.Ranges.Item("B:D"+ Cstr(ro "System "MS Sans Serif BJICA "MS Sans Serif $1,600.00 $1,259.25 $5,625.00 $3,637.50 $8,287.50 $6,571.88 "MS Sans Serif Total: "MS Sans Serif EXT56076 Lotus 1-2-3 97 Workbook 123Native97 Lotus123.Workbook.97 field in the current Notes ' Customer document. WriteToSheet UpdatePortfolioValue Else Messagebox "No stocks purchased",,"Notes" End If Else Messagebox "No stocks purchased",,"Notes" End If Else Messagebox "No stocks purchased",,"Notes" End If End Sub Lotus 1-2-3 97 Workbook 123Native97 Lotus123.Workbook.97 David Folk David Folk/CAM/Lotus Lotus Chart 0S0E EXT56076Lotus123.Workbook.97 "System "MS Sans Serif BJICA "MS Sans Serif $1,600.00 $1,259.25 $5,625.00 $3,637.50 $8,287.50 $6,571.88 INTC2 $1,590.00 `!b`1 7`^/// ?b___ `bOOO `