1

Konu: Word Belgesi

**** %isim% metnini Tarkan metni ile değiştirir.
Local loWord As Word.Application
m.loWord = CreateObject("Word.Application")
With m.loWord As WORD.Application
    .Documents.Open("C:\Denemeler\rapor.doc")
    With .Selection.Find
        .Text = "%isim%"
        .Replacement.Text = "Tarkan"
        .Execute(,,,,,,,,,,2,,,,)
    EndWith
    .Visible = .T.
EndWith
m.loWord = .Null.
Yukarıdaki kod ile word belgesinde gerekli bilgileri değiştirip FoxPro 9.0 ile açabiliyorum. Ancak sorunum şu değiştirmek istediğim metin ÜstBilgi veya AltBilgide ise yani %isim% altbilgide ise replace işlemini uygulamıyor. Bunu nasıl çözebilirim. yardımcı olursanız sevinirim.

2

Re: Word Belgesi

Visual Fox Pro
#Define wdReplaceNone    0

#Define wdReplaceOne    1
#Define wdReplaceAll    2
 
 
Local lcDocument
lcDocument = 'c:\myPath\myDoc.doc'
 
* Replacement settings
* Replace all <Name> with 'Cetin Basoz'
* Replace all <SomeDate> with long format datetime
Local Array arrReplace[2,2] && Find what in first col, replacement in 2nd
arrReplace[1,1] = '<Name>'
arrReplace[1,2] = 'Cetin Basoz'
arrReplace[2,1] = '<SomeDate>'
arrReplace[2,2] = Transform(Datetime(),'@YL')
 
Local oWord As 'Word.Application'
oWord = Createobject('Word.Application')
With oWord
  .Documents.Open(m.lcDocument)
  With .ActiveDocument
    For Each myStoryRange In .StoryRanges
      ReplaceInRange( m.myStoryRange, @arrReplace )
    Endfor
    myStoryRange = .Null.
  Endwith
  .Visible = .T.
  .Activate
Endwith
 
Function ReplaceInRange
  Lparameters toRange, taReplacements
  Local ix
  For ix=1 To Alen(taReplacements,1)
    toRange.Find.Execute(taReplacements[ix,1], ;
      .F., .T.,,,,,,, taReplacements[ix,2], wdReplaceAll)
  Endfor
Endfunc

3

Re: Word Belgesi

ÇETİN HOCAM ÇOK TEŞEKKÜR EDERİM.