Sure. You can utilize late binding such as this example, or use Early binding (preferred by most people).
Put this in your Worksheet Module:
<font face=Tahoma New><SPAN style="color:#00007F">Option</SPAN> <SPAN style="color:#00007F">Explicit</SPAN>
<SPAN style="color:#00007F">Private</SPAN> <SPAN style="color:#00007F">Sub</SPAN> Worksheet_Change(<SPAN style="color:#00007F">ByVal</SPAN> Target <SPAN style="color:#00007F">As</SPAN> Range)
<SPAN style="color:#00007F">If</SPAN> Range("BI1").Value = "OVERDUE" <SPAN style="color:#00007F">Then</SPAN>
sendBook (Range("AJ1").Text)
<SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">If</SPAN>
<SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">Sub</SPAN>
</FONT>
Put this in a Standard Module:
<font face=Tahoma New><SPAN style="color:#00007F">Option</SPAN> <SPAN style="color:#00007F">Explicit</SPAN>
<SPAN style="color:#00007F">Sub</SPAN> sendBook(theAddy <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">String</SPAN>)
<SPAN style="color:#00007F">If</SPAN> MsgBox("Are you sure you want to send the workbook now?", _
vbYesNo, "Send TKN Report") = vbNo <SPAN style="color:#00007F">Then</SPAN> <SPAN style="color:#00007F">Exit</SPAN> <SPAN style="color:#00007F">Sub</SPAN>
Application.ScreenUpdating = <SPAN style="color:#00007F">False</SPAN>
Application.EnableEvents = <SPAN style="color:#00007F">False</SPAN>
<SPAN style="color:#00007F">Dim</SPAN> wb <SPAN style="color:#00007F">As</SPAN> Workbook, wasOpen <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Boolean</SPAN>
<SPAN style="color:#00007F">On</SPAN> <SPAN style="color:#00007F">Error</SPAN> <SPAN style="color:#00007F">Resume</SPAN> <SPAN style="color:#00007F">Next</SPAN>
wasOpen = <SPAN style="color:#00007F">True</SPAN>
Workbooks("temp1.xls").Activate <SPAN style="color:#007F00">'<--Change</SPAN>
<SPAN style="color:#00007F">If</SPAN> Err <> 0 <SPAN style="color:#00007F">Then</SPAN>
<SPAN style="color:#00007F">Set</SPAN> wb = Workbooks.Open("C:\Documents and Settings\Rob\Desktop\temp1.xls") <SPAN style="color:#007F00">'<--Change</SPAN>
wasOpen = <SPAN style="color:#00007F">False</SPAN>
Err.Clear
<SPAN style="color:#00007F">Else</SPAN>
<SPAN style="color:#00007F">Set</SPAN> wb = ActiveWorkbook
wb.Save
<SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">If</SPAN>
<SPAN style="color:#00007F">Dim</SPAN> olApp <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Object</SPAN>, olMsg <SPAN style="color:#00007F">As</SPAN> <SPAN style="color:#00007F">Object</SPAN>
<SPAN style="color:#00007F">Set</SPAN> olApp = CreateObject("Outlook.Application")
<SPAN style="color:#00007F">Set</SPAN> olMsg = olApp.CreateItem(0)
<SPAN style="color:#00007F">With</SPAN> olMsg
.To = theAddy
.Cc = "Courtesy Copy here"
.Bcc = "Blind Courtesy Copy here"
.Subject = "<SPAN style="color:#00007F">Sub</SPAN>ject Here"
.Body = "Enter Body Here"
.Attachments.Add wb.FullName <SPAN style="color:#007F00">'<--Change</SPAN>
.Display <SPAN style="color:#007F00">'.Send '** Switch if you don't want to preview the msg</SPAN>
<SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">With</SPAN>
<SPAN style="color:#00007F">If</SPAN> wasOpen = <SPAN style="color:#00007F">False</SPAN> <SPAN style="color:#00007F">Then</SPAN>
wb.Close <SPAN style="color:#00007F">True</SPAN>
<SPAN style="color:#00007F">End</SPAN> <SPAN style="color:#00007F">If</SPAN>
Application.ScreenUpdating = <SPAN style="color:#00007F">True</SPAN>
Application.EnableEvents = <SPAN style="color:#00007F">True</SPAN>
<SPAN style="color:#00007F">Set</SPAN> olApp = <SPAN style="color:#00007F">Nothing</SPAN>
<SPAN style="color:#00007F">Set</SPAN> olMsg = <SPAN style="color:#00007F">Nothing</SPAN>
<SPAN style="color:#00007F">End</SPAN> Sub
</FONT>
This does have the workbook name and path *hardcoded* in the code. Change if desired. We can tweak specifics if need be.
HTH
Edit: code adjustment.