Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

С Vba на C++

1.2K
29 июля 2005 года
richel
142 / / 20.01.2005
Замучилась с Вордом. Маленькими шажочками продвигаюсь.
Есть коды из макроса:
1)
Цитата:
ActiveDocument.Sections(1).Footers(wdHeaderFooterPrimary).Range.Text = "Слово"


Продвинулась в Билдере только до этого момента:

Цитата:
WordApp->ActiveDocument->get_Sections(0);


Дальше по справке ничего нет. Да и то, задашь get_Sections(1) - ошибка. Свойства Sections как такового нет.
2)
Нужно вставить в Ворд диаграмму из Эксела (из буфера, куда она была скопирована). Код такой:

Цитата:
Selection.PasteAndFormat (wdChartPicture)


В Билдере близко такого нет. Вот все что есть:

Цитата:
WordApp->Selection->PasteFormat();


Код этот не работает. Хотя в буфере диаграмма есть.
Кто может, помогите. Информации на сайтах по нулям. Все, что есть - это начало работы с Вордом. Этого уже мало.

488
29 июля 2005 года
Mоngооsе
465 / / 01.04.2005
Выражение

WordApplication1->ActiveDocument->Sections->Item(1)->Footers->Item(wdHeaderFooterPrimary)->Range->set_Text(...);

тоже не работает?

На счет второго, есть еще PasteSpecial().
1.2K
29 июля 2005 года
richel
142 / / 20.01.2005
Цитата:

WordApplication1->ActiveDocument->Sections->Item(1)->Footers->Item(wdHeaderFooterPrimary)->Range->set_Text(...);

тоже не работает?


Ура! Работает. Самое интересное, что нечто подобное я пыталась откомпелировать. Выдавалась ошибка, что Sections не является членом ActiveDocument. Да и в свойствах ActiveDocument я Sections не нашла. Искала тщательно.
Спасибо за помощь. Похоже, на трех форумах , Вы единственный, кто разбирается в Ворде.
Но помогите, пожалуйста, еще по второму вопросу.

Цитата:
virtual HRESULT STDMETHODCALLTYPE PasteSpecial(VARIANT* IconIndex/*[in,opt]*/= TNoParam(),
VARIANT* Link/*[in,opt]*/= TNoParam(),
VARIANT* Placement/*[in,opt]*/= TNoParam(),
VARIANT* DisplayAsIcon/*[in,opt]*/= TNoParam(),
VARIANT* DataType/*[in,opt]*/= TNoParam(),
VARIANT* IconFileName/*[in,opt]*/= TNoParam(),
VARIANT* IconLabel/*[in,opt]*/= TNoParam()) = 0; // [176]


Это в справке Билдера. Похоже, задать нужно Link. Но как задается этот параметр, черт его знает. Остальные, понятно, EmptyParam.
Но может я не права.
Но ни PasteFormat не работает вообще, ни Paste -вставляется не диаграмма, а таблица с данными.
Как быть?

488
29 июля 2005 года
Mоngооsе
465 / / 01.04.2005
Цитата:
Originally posted by richel
Это в справке Билдера. Похоже, задать нужно Link. Но как задается этот параметр, черт его знает. Остальные, понятно, EmptyParam.
Но может я не права.
Но ни PasteFormat не работает вообще, ни Paste -вставляется не диаграмма, а таблица с данными.
Как быть?

Лучше читать справку Word-а.
F1->Programming Information->Microsoft Word Visual Basic Reference->Methods->P->PasteSpecial

Вроде нужно только указать для параметра DataType тип вставляемого объекта. Но среди WdPastDataType нет типа wdChartPicture. Есть только wdPasteBitmap. Но это не совсем хорошо, при печати надписи будут не четкыми.

При вставке графика в карман в Excele, можно бы использовать команду CopyPicture с параметром xlPicture и тогда возможно можно будет для DataType задать параметр wdPasteMetafilePicture.

PasteFormat это вроде используется вместе с CopyFormat и передается только формат параграфа.

1.2K
31 июля 2005 года
richel
142 / / 20.01.2005
А что Вы скажите про библиотеку Word_xp.h?
Мне подсказали на другом форуме. Оказывается, там и есть PasteAndFormat. Но когда я переделываю код макроса на
Цитата:
WordApp->Selection->PasteAndFormat(Word_xp::wdChartPicture);


выдается сообщение, что PasteAndFormat не является членом структуры Word_2k::Selection.
Где можно посмотреть структуру этой библиотеки?

10
31 июля 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by richel
Где можно посмотреть структуру этой библиотеки?


$(BCB)\OCX\Servers

1.2K
01 августа 2005 года
richel
142 / / 20.01.2005
Цитата:
Originally posted by Freeman
$(BCB)\OCX\Servers


Опаньки!
У меня в этой папке только два каталога:
Chartfx и Vci. А Servers нет.
Билдер 6.0. Может что-то нужно было ставить отдельно?

1.2K
01 августа 2005 года
richel
142 / / 20.01.2005
Цитата:
Originally posted by Mоngооsе
Лучше читать справку Word-а.
F1->Programming Information->Microsoft Word Visual Basic Reference->Methods->P->PasteSpecial

Вроде нужно только указать для параметра DataType тип вставляемого объекта. Но среди WdPastDataType нет типа wdChartPicture. Есть только wdPasteBitmap. Но это не совсем хорошо, при печати надписи будут не четкыми.

При вставке графика в карман в Excele, можно бы использовать команду CopyPicture с параметром xlPicture и тогда возможно можно будет для DataType задать параметр wdPasteMetafilePicture.

PasteFormat это вроде используется вместе с CopyFormat и передается только формат параграфа.


Ура!:P Все получилось именно по этой схеме.

Цитата:
OleVariant EmptyTr=True;
OleVariant Link=wdPasteMetafilePicture;
WordApp->Selection->PasteSpecial(EmptyParam, EmptyTr, EmptyParam, EmptyParam, Link, EmptyParam, EmptyParam);


Спасибо огромное! Очень выручил!

488
01 августа 2005 года
Mоngооsе
465 / / 01.04.2005
Цитата:
Originally posted by richel
Опаньки!
У меня в этой папке только два каталога:
Chartfx и Vci. А Servers нет.
Билдер 6.0. Может что-то нужно было ставить отдельно?

word2_xp.h может быть в ..\CBuilder6\Include\VCL

1.2K
02 августа 2005 года
richel
142 / / 20.01.2005
Цитата:
Originally posted by Mоngооsе
word2_xp.h может быть в ..\CBuilder6\Include\VCL


Сам файл, действительно, находится в этой папке. Что касается PasteAndFormat, то все в одной фразе:

Цитата:
virtual HRESULT STDMETHODCALLTYPE PasteAndFormat(Word_xp::WdRecoveryType Type/*[in]*/) = 0; // [412]


Поскольку я пока ограничивалась word_2k.h, то не знала, что эти две библиотеки вместе не используются. Либо...либо. Ну а мне это не удобно. Программа достаточно большая, чтобы все в ней менять. А потом, в нашей конторе еще есть ПК, где стоит 2000 Office. Пока не знаю, как поведет себя библиотека word_xp.h. Тем более, уже в ней нет необходимости.:D

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог