#INCLUDE 'wdconst.h' >lcDir = getdir() >lnDocs = adir(arrDocs,lcDir+'*.doc') >lcSearch1 = 'First String to find' >lcSearch2 = 'Next String to find' >oWord=CREATEobject("Word.Application") >With oWord > .Options.Pagination = .t. > For ix = 1 to lnDocs > .Documents.Open(lcDir+arrDocs[ix,1]) > .ActiveDocument.ActiveWindow.View.Draft = .f. > With .ActiveDocument.Content.Find > .ClearFormatting > If .Execute(lcSearch1+'^w^p'+lcSearch2,.f.) ; > or .Execute(lcSearch1+'^p'+lcSearch2,.f.) > ? 'Found in document '+lcDir+arrDocs[ix,1]+; > ' at line '+transform(.Parent.Information(wdFirstCharacterLineNumber)) > Endif > Endwith > .ActiveDocument.Close(wdDoNotSaveChanges) > Endfor > .Quit >Endwith >This is not a bulletproof search and line number might change with just layout change. In your case getting the whole content to a string and making search in it might be more correct approach.