Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Open a word doc in modal form??
Message
From
19/06/2007 10:59:56
Cetin Basoz
Engineerica Inc.
Izmir, Turkey
 
 
To
19/06/2007 10:43:07
General information
Forum:
Visual FoxPro
Category:
COM/DCOM and OLE Automation
Environment versions
Visual FoxPro:
VFP 9
Miscellaneous
Thread ID:
01234220
Message ID:
01234280
Views:
58
This message has been marked as the solution to the initial question of the thread.
>>>can I open a worddoc so it is in a modal window?
>>>so my program waits until word gets closed??
>>>
>>>
>>>Thanks
>>>
>>>
>>>peter
>>
>>Peter,
>>My reaction would be no, no:) You can make the form modal but do not use "do while" to check if it's closed. You can use a timer instead or hook to word events with eventhandler and check word is closing.
>>Cetin
>I agree. But I have never used event handlers outside of VFp
>I would like to be able to some have my prgram know when word is closed
>
>thanks
>
>Peter

I meant VFP's eventhandler:
lcGetFile = getfile('DOC')

local oword as 'word.application'
oWord = newobject('word.application')
oWordEvents = newobject("WordEvents",'','',oWord)
eventhandler(oWord,oWordEvents)
with oword
  .Documents.open(m.lcGetFile)
  .visible = .t.
  .activate
endwith


define class WordEvents as session olepublic
  implements ApplicationEvents2 in "C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE11\MSWORD.OLB"

  oHook = null
  procedure init(loHook)
    this.oHook  = loHook
  endproc

  procedure ApplicationEvents2_Quit() as VOID
    ? 'User is quitting word',datetime()
    eventhandler(this.oHook,this,.t.)
  endproc

  procedure ApplicationEvents2_DocumentChange() as VOID
  endproc

  procedure ApplicationEvents2_DocumentOpen(doc as VARIANT) as VOID
  endproc
  procedure ApplicationEvents2_DocumentBeforeClose(doc as VARIANT, cancel as LOGICAL) as VOID
  endproc
  procedure ApplicationEvents2_DocumentBeforePrint(doc as VARIANT, cancel as LOGICAL) as VOID
  endproc
  procedure ApplicationEvents2_DocumentBeforeSave(doc as VARIANT, SaveAsUI as LOGICAL, cancel as LOGICAL) as VOID
  endproc
  procedure ApplicationEvents2_NewDocument(doc as VARIANT) as VOID
  endproc
  procedure ApplicationEvents2_WindowActivate(doc as VARIANT, Wn as VARIANT) as VOID
  endproc
  procedure ApplicationEvents2_WindowDeactivate(doc as VARIANT, Wn as VARIANT) as VOID
  endproc
  procedure ApplicationEvents2_WindowSelectionChange(Sel as VARIANT) as VOID
  endproc
  procedure ApplicationEvents2_WindowBeforeRightClick(Sel as VARIANT, cancel as LOGICAL) as VOID
  endproc
  procedure ApplicationEvents2_WindowBeforeDoubleClick(Sel as VARIANT, cancel as LOGICAL) as VOID
  endproc
enddefine
Cetin
Çetin Basöz

The way to Go
Flutter - For mobile, web and desktop.
World's most advanced open source relational database.
.Net for foxheads - Blog (main)
FoxSharp - Blog (mirror)
Welcome to FoxyClasses

LinqPad - C#,VB,F#,SQL,eSQL ... scratchpad
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform