Search  
Thursday, May 24, 2012 ..:: Forum ::.. Register  Login
 Forum Minimize
Pentru a putea posta mesaje trebuie să vă înregistraţi.
Notă: Mesajele cu conţinut jignitor sau ilegal (inclusiv cereri de soft piratat) nu sunt acceptate şi vor fi şterse imediat .

Pentru a primi raspunsuri rapide si corecte, scrieti in mesaj ce intentionati sa faceti, ce mesaj de eroare primiti, in ce context si in urma caror actiuni. De asemenea, mentionati versiunea de FoxPro in care lucrati!
Dacă nu specificați versiunea, se consideră VFP 9.0 SP2.

SearchForum Home
  Visual FoxPro  COM, DCOM si OLE Automation  replace all in ...
 replace all in word
 
 8/8/2006 6:55:53 PM
User is offlineAdrian Gerlan
581 posts
1st




replace all in word
 (Romania)
Am urmatoarea secventa:

oWord = CREATEOBJECT("word.application")
oWord.VISIBLE = .T.
curdir=SYS(5)+SYS(2003)+'\temp\'
oWord.ChangeFileOpenDirectory(curdir)
oWord.Documents.Open("test.doc")
oWord.Selection.Find.ClearFormatting
oWord.Selection.Find.Replacement.ClearFormatting
oWord.Selection.Find.Text='reprezentant'
oWord.Selection.Find.Replacement.Text='~reprezentant'
oWord.Selection.Find.Forward= .T.
oWord.Selection.Find.Wrap= 1  && wdFindContinue
oWord.Selection.Find.Format= .F.
oWord.Selection.Find.MatchCase= .F.
oWord.Selection.Find.MatchWholeWord= .F.
oWord.Selection.Find.MatchSoundsLike= .F.
oWord.Selection.Find.MatchAllWordForms= .F.
oWord.Selection.Find.Execute

La naiba, ca nu reusesc sa ma prind ce trebuie sa mai scriu pentru a face Replace All in documentul word...


AdiG
 8/8/2006 7:38:07 PM
User is offlineAdrian Gerlan
581 posts
1st




Re: replace all in word
 (Romania)
Done. Am gasit o solutie, si anume:

Do While .T.
    lValue = oWord.Selection.Find.Execute
    IF lValue
      oWord.Selection.Cut
      oWord.Selection.InsertBefore(oWord.Selection.Find.Replacement.Text)
      oWord.Selection.MoveRight
    ELSE
      EXIT
    ENDIF
Enddo


Nu stiu daca-i cea mai buna, dar e functionala.


AdiG
 8/9/2006 2:22:22 AM
User is offlineAdrian Gerlan
581 posts
1st




Re: replace all in word
 (N/A)
Varianta asta e si mai aproape de ce vreau eu.

Do While .T.
    lValue = oWord.Selection.Find.Execute
    IF lValue
      oWord.Selection.TypeText(oWord.Selection.Find.Replacement.Text)
      oWord.Selection.MoveRight
    ELSE
      EXIT
    ENDIF
Enddo

Dar, totusi, cred ca se poate si mai bine.
Macroul de Word imi da sintaxa VB:
    Selection.Find.Execute  Replace:=wdReplaceAll
Din pacate, ultima parte a comenzii (Replace:=wdReplaceAll) nu reusesc sa o transform in comanda VFP.
Sugestii ?
multam.




AdiG
 8/9/2006 2:59:10 AM
User is offlineAdrian Gerlan
581 posts
1st




Re: replace all in word
 (N/A)
E... am gasit si varianta corecta:

oWord.Selection.Find.Execute(,,,,,,,,,,2)

 .. inlocuieste toata bucla Do While / EndDo de mai sus.




AdiG
  Visual FoxPro  COM, DCOM si OLE Automation  replace all in ...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement