Добрый день! Возникла необходимость создать новый документ Microsoft Word с заданными по-умолчанию некоторыми параметрами, например, пароль на открытие файла. Достичь желаемого результата можно очень и очень просто! Нам на помощь опять приходит нет-нет, не Чип и Дейл, а сокровищница знаний MSDN...
Обо мне
- Stedy
- Индивид, которому нравится слушать качественную музыку, а потом делиться впечатлениями с другими!
Показаны сообщения с ярлыком word. Показать все сообщения
Показаны сообщения с ярлыком word. Показать все сообщения
четверг, 28 июля 2011 г.
среда, 30 марта 2011 г.
[Qt] Поиск и замена текста в Microsoft Word посредством ActiveQt
Автор:
Stedy
на
21:16
Обратил внимание на то, что в интернете на форумах достаточно сложно найти информацию о том, как производить поиск и замену текста в Microsoft Word посредством ActiveQt. Для собственного проекта написал следующую процедуру:
void MsWordDocument::replaceString(const QString& oldString, const QString& newString)
Более подробную информацию о передаваемых параметрах можно прочитать на MSDN
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);
}воскресенье, 27 марта 2011 г.
[Qt] Изменение шрифта во всем документе Microsoft Word посредством ActiveQt
Автор:
Stedy
на
22:06
Сегодня хотел бы написать небольшую заметку о том, как изменить шрифт во всем документе, созданном в Microsoft Word. Не буду многословен, а просто доработаю предыдущий пример:
- QAxObject* WordApplication = new QAxObject("Word.Application");
- if (!WordApplication) return;
- WordApplication->dynamicCall("SetVisible(bool)", false);
- WordApplication->querySubObject("Documents")->querySubObject("Open(QVariant)", _filename);
- QAxObject* active_doc = WordApplication->querySubObject("ActiveDocument");
- QAxObject* WordSelection = WordApplication->querySubObject("Selection");
- WordSelection->dynamicCall("WholeStory()");
- QAxObject *Font = WordSelection->querySubObject("Font");
- Font->setProperty("Size", 22);
- QVariant newF(_outputDir + newFilename);
- QVariant fileFormat(6); //Saving as filtered rtf
- active_doc->querySubObject("SaveAs(const QVariant&, const QVariant&)", newF, fileFormat);
- WordApplication->querySubObject("ActiveDocument")->dynamicCall("Close()");
- WordApplication->dynamicCall("Quit()");
* This source code was highlighted with Source Code Highlighter.
вторник, 22 марта 2011 г.
[Qt] конвертация файлов из Microsoft Word (doc) в RTF
Автор:
Stedy
на
21:12
Сказано - сделано:
Открываем doc файл, сохраняем его в rtf. При этом окно Ms Word скрываем
QAxObject* WordApplication = new QAxObject("Word.Application"); WordApplication->dynamicCall("SetVisible(bool)", false); WordApplication->querySubObject("Documents")->querySubObject("Open(QVariant)", _filename); QString newFilename = ...new...name... QAxObject* active_doc = WordApplication->querySubObject("ActiveDocument"); QVariant newF(_outputDir + newFilename); QVariant fileFormat(6); //Сохраняем в rtf. 2 - txt active_doc->querySubObject("SaveAs(const QVariant&, const QVariant&)", newF, fileFormat); // Закрываем WordApplication->querySubObject("ActiveDocument")->dynamicCall("Close()"); WordApplication->dynamicCall("Quit()");
Открываем doc файл, сохраняем его в rtf. При этом окно Ms Word скрываем
Подписаться на:
Сообщения (Atom)