用OLE直接替换WORD中指定字符串怎么办?
#include
enum TWordReplaceFlag {wrfReplaceAll, wrfMatchCase, wrfMatchWildcards};
typedef Set TWordReplaceFlags;
bool Word_StringReplace(TFileName ADocument,AnsiString SearchString,AnsiString ReplaceString,TWordReplaceFlags Flags)
{
const wdFindContinue = 1;
const wdReplaceOne = 1;
const wdReplaceAll = 2;
const wdDoNotSaveChanges = 0;
bool Result;
Variant WordApp;
Result = False;
//{ Check if file exists }
if (!FileExists(ADocument))
{
ShowMessage("Specified Document not found.");
return Result;
}
//{ Create the OLE Object }
try
{
WordApp = CreateOleObject("Word.Application");
}
catch(Exception &E)
{
E.Message = "Word is not available.";
throw E;
}
try
{
//{ Hide Word }
WordApp.OlePropertySet("Visible",Variant(true));
//{ Open the document }
Variant DocCollection = WordApp.OlePropertyGet("Documents");
DocCollection.Exec(Procedure("Open")<<adocument);< div="">
#include
enum TWordReplaceFlag {wrfReplaceAll, wrfMatchCase, wrfMatchWildcards};
typedef Set TWordReplaceFlags;
bool Word_StringReplace(TFileName ADocument,AnsiString SearchString,AnsiString ReplaceString,TWordReplaceFlags Flags)
{
const wdFindContinue = 1;
const wdReplaceOne = 1;
const wdReplaceAll = 2;
const wdDoNotSaveChanges = 0;
bool Result;
Variant WordApp;
Result = False;
//{ Check if file exists }
if (!FileExists(ADocument))
{
ShowMessage("Specified Document not found.");
return Result;
}
//{ Create the OLE Object }
try
{
WordApp = CreateOleObject("Word.Application");
}
catch(Exception &E)
{
E.Message = "Word is not available.";
throw E;
}
try
{
//{ Hide Word }
WordApp.OlePropertySet("Visible",Variant(true));
//{ Open the document }
Variant DocCollection = WordApp.OlePropertyGet("Documents");
DocCollection.Exec(Procedure("Open")<<adocument);< div="">