• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 117
  • Last Modified:

determine if word document was opened by another document

continuation of this question

Word 2003:
Currently I have code in document 1 to open a second document based on a template:
Documents.Add "document2.dot"

document2.dot has a Sub Document_New() routine.

I would like to run one set of code in document2.dot if document2.dot is opened by double clicking on it but run a different set of code if it is opened from document 1.  Document 1 could have any name.

for example:
Sub Document_New()
   If opened from document 1 then
       do this
   else
       do this instead
   end if
End Sub

Any way to do that?
0
thenelson
Asked:
thenelson
  • 3
  • 2
1 Solution
 
GrahamSkanRetiredCommented:
You could try setting a time flag in the registry and testing it to make sure that it isn't an old setting:
Sub NewDocFromDoc2()
    Dim doc As Document
    SaveSetting "MyApp", "Opening", "Time", CStr(Now)
    Set doc = Documents.Add("C:\Users\Graham Skan\Documents\Doc2.dotm")
End Sub

Open in new window

Sub Document_New()
Dim dt As Date
dt = CDate(GetSetting("MyApp", "Opening", "Time", "1/1/1900"))
    If DateDiff("s", dt, Now) < 2 Then
        MsgBox "Opened from Doc1"
    End If
End Sub

Open in new window

0
 
thenelsonAuthor Commented:
Neat idea. I guess I could use DeleteSetting after GetSetting in the second document and then I wouldn't need to check the time.
0
 
GrahamSkanRetiredCommented:
Yes, that would work as well.
0
 
thenelsonAuthor Commented:
So this is what I did and it is working fine:

Calling document:
SaveSetting "Script", "Open", "Ptname", ActiveDocument.Bookmarks("PatientsName").Range.Text
SaveSetting "Script", "Open", "DOB", Format(ActiveDocument.Bookmarks("DOB").Range.Text, "mm/dd/yyyy")

Documents.Add ("Document2.dot")

Open in new window

Document2.dot:
Dim strName As String, strDOB As String

strName = GetSetting("Script", "Open", "Ptname")
If Len(strName & "") Then
    strDOB = GetSetting("Script", "Open", "DOB")
    DeleteSetting "Script", "Open"
Else
    'the other stuff
End If

Open in new window

0
 
thenelsonAuthor Commented:
Thanks, works great.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now