frech
Зарегистрирован: 05.12.2008 Сообщения: 4
|
Добавлено: Пт Дек 05 2008 21:41 Заголовок сообщения: Поиск текста в Ворд доке |
|
|
всем привет. Я сам начинающий на Борланд С++. Вот хочу рещить такую задачку:
Имеетса папка с Ворд документами, и отрывок текста. Надо найти в каком Ворд доке находится этот текст. По одному открывать и искать лень. Вот хочу написать прогу, которая будет по одному открывать, проверять, и закрывать. Рещил рещить эту проблему с помощью OLE.
Для начало разобрался с макросами и создал VBA код. Но не могу полностю перейти на С++. Вот сам код:
Код: | ChangeFileOpenDirectory "D:\"
Documents.Open FileName:="1.docx", ConfirmConversions:=False, ReadOnly:= _
False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:= _
"", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="", _
Format:=wdOpenFormatAuto, XMLTransform:=""
Selection.Find.ClearFormatting
With Selection.Find
.Text = "text"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
ActiveWindow.Close |
перевел часть этого кода ( вот VBA):
Код: | ChangeFileOpenDirectory "D:\"
Documents.Open FileName:="1.docx", ConfirmConversions:=False, ReadOnly:= _
False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:= _
"", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="", _
Format:=wdOpenFormatAuto, XMLTransform:="" |
на это (C++):
Код: | Variant oledoc = CreateOleObject("Word.Application");
oledoc.OlePropertySet("Visible", false);
oledoc.OlePropertyGet("Documents").OleProcedure("Open", "c:\\1.doc", false, false, false, "", "", false, "", "" , 0, ""); |
ну пака что работает, но проблема в остольном (VBA):
Код: | Selection.Find.ClearFormatting
With Selection.Find
.Text = "text"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
ActiveWindow.Close |
не могу перевести верхний код. Прощу помощию Может у кого нибуд есть инфа про OLE. В инете искал, но почти ничего не нащел.
Может у вас есть другая идея как это реализовать?? |
|