Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Open a word doc in modal form??
Message
De
19/06/2007 10:59:56
Cetin Basoz
Engineerica Inc.
Izmir, Turquie
 
 
À
19/06/2007 10:43:07
Information générale
Forum:
Visual FoxPro
Catégorie:
COM/DCOM et OLE Automation
Versions des environnements
Visual FoxPro:
VFP 9
Divers
Thread ID:
01234220
Message ID:
01234280
Vues:
55
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
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform