Обратил внимание на то, что в интернете на форумах достаточно сложно найти информацию о том, как производить поиск и замену текста в Microsoft Word посредством ActiveQt. Для собственного проекта написал следующую процедуру:
void MsWordDocument
::replaceString
(const QString& oldString
, const QString& newString
)
{
QAxObject* WordSelection = WordApplication->querySubObject("Selection");
QAxObject* Find = WordSelection->querySubObject("Find");
if (!Find) return;
Find->dynamicCall("ClearFormatting()");
QList<QVariant> params;
params.operator << (QVariant(oldString));
params.operator << (QVariant("0"));
params.operator << (QVariant("0"));
params.operator << (QVariant("0"));
params.operator << (QVariant("0"));
params.operator << (QVariant("0"));
params.operator << (QVariant(true));
params.operator << (QVariant("0"));
params.operator << (QVariant("0"));
params.operator << (QVariant(newString));
params.operator << (QVariant("2"));
params.operator << (QVariant("0"));
params.operator << (QVariant("0"));
params.operator << (QVariant("0"));
params.operator << (QVariant("0"));
Find->dynamicCall("Execute(const QVariant&,const QVariant&,"
"const QVariant&,const QVariant&,"
"const QVariant&,const QVariant&,"
"const QVariant&,const QVariant&,"
"const QVariant&,const QVariant&,"
"const QVariant&,const QVariant&,"
"const QVariant&,const QVariant&,const QVariant&)",
params);
}
Более подробную информацию о передаваемых параметрах можно прочитать на MSDN