Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 25.10.2013
Сообщений: 2

c++builder 2009, MS Word 2010, WaterMark

17.02.2011, 10:51. Показов 1667. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!

ОС win7, Office 2010, c++builder 2009.

Есть документ созданный в word 2000. в документе разрывы страниц.
Используя word 2010 вставлена в данный документ настраиваемая подложка (на все пространство документа она автоматически распределилась).
Записан макрос вставки этой подложки:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Sub Макрос12()
'
' Макрос12 Макрос
'
'
    ActiveDocument.Sections(1).Range.Select
    ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    Selection.HeaderFooter.Shapes.AddTextEffect( _
        PowerPlusWaterMarkObject9355177, "ДЛЯ СЛУЖЕБНОГО ПОЛЬЗОВАНИЯ", "Calibri", _
         1, False, False, 0, 0).Select
    Selection.ShapeRange.Name = "PowerPlusWaterMarkObject9355177"
    Selection.ShapeRange.TextEffect.NormalizedHeight = False
    Selection.ShapeRange.Line.Visible = False
    Selection.ShapeRange.Fill.Visible = True
    Selection.ShapeRange.Fill.Solid
    Selection.ShapeRange.Fill.ForeColor.RGB = RGB(192, 192, 192)
    Selection.ShapeRange.Fill.Transparency = 0.5
    Selection.ShapeRange.Rotation = 315
    Selection.ShapeRange.LockAspectRatio = True
    Selection.ShapeRange.Height = CentimetersToPoints(2.49)
    Selection.ShapeRange.Width = CentimetersToPoints(20.77)
    Selection.ShapeRange.WrapFormat.AllowOverlap = True
    Selection.ShapeRange.WrapFormat.Side = wdWrapNone
    Selection.ShapeRange.WrapFormat.Type = 3
    Selection.ShapeRange.RelativeHorizontalPosition = _
        wdRelativeVerticalPositionMargin
    Selection.ShapeRange.RelativeVerticalPosition = _
        wdRelativeVerticalPositionMargin
    Selection.ShapeRange.Left = wdShapeCenter
    Selection.ShapeRange.Top = wdShapeCenter
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
End Sub
Код транслирован на с++builder:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
WordDocument1->Application->Document->Selection->Range->Select();
WordDocument1->Application->ActiveWindow->ActivePane->View->SeekView =
        WdSeekView::wdSeekCurrentPageHeader;
 
        WordDocument1->Application->Selection->HeaderFooter->Shapes->AddTextEffect(
        Office_xp::MsoPresetTextEffect::msoTextEffect2,
        WideString(Memo1->Lines->Text).c_bstr(),
        WideString("Arial").c_bstr(),
        60.0,
        MsoTriState::msoFalse,
        MsoTriState::msoFalse,
        0,
        0)->Select();
WordDocument1->Application->Selection->ShapeRange->Name = WideString("PowerPlusWaterMarkObject1").c_bstr();
 
 
WordDocument1->Application->Selection->ShapeRange->TextEffect->NormalizedHeight = MsoTriState::msoFalse;
//WordDocument1->Application->Selection->ShapeRange->TextEffect->set_FontSize(50);
WordDocument1->Application->Selection->ShapeRange->Line->Visible = MsoTriState::msoFalse;
WordDocument1->Application->Selection->ShapeRange->Fill->Visible = MsoTriState::msoTrue;
WordDocument1->Application->Selection->ShapeRange->Fill->Solid();
 
WordDocument1->Application->Selection->ShapeRange->Fill->Transparency = 0.5;
WordDocument1->Application->Selection->ShapeRange->Rotation = 320;
 
WordDocument1->Application->Selection->ShapeRange->LockAspectRatio = MsoTriState::msoTrue;
WordDocument1->Application->Selection->ShapeRange->Height = WordDocument1->Application->CentimetersToPoints(2.58);
WordDocument1->Application->Selection->ShapeRange->Width = WordDocument1->Application->CentimetersToPoints(18.07);
WordDocument1->Application->Selection->ShapeRange->WrapFormat->AllowOverlap = MsoTriState::msoTrue;
WordDocument1->Application->Selection->ShapeRange->WrapFormat->Side = Word_xp::WdWrapSideType::wdWrapBoth;   //wdWrapLargest
WordDocument1->Application->Selection->ShapeRange->WrapFormat->Type = Word_xp::WdWrapType::wdWrapNone;          //wdWrapNone
 
WordDocument1->Application->Selection->ShapeRange->RelativeHorizontalPosition = Word_xp
        ::WdRelativeHorizontalPosition::wdRelativeHorizontalPositionMargin;
WordDocument1->Application->Selection->ShapeRange->RelativeVerticalPosition = Word_xp
        ::WdRelativeVerticalPosition::wdRelativeVerticalPositionMargin;
WordDocument1->Application->Selection->ShapeRange->Left = Word_xp::WdShapePosition::wdShapeCenter;
WordDocument1->Application->Selection->ShapeRange->Top = Word_xp::WdShapePosition::wdShapeCenter;
 
WordDocument1->Application->ActiveWindow->ActivePane->View->SeekView = WdSeekView::wdSeekMainDocument;
Код на с++ корректно работает с документами созданными в Word 2010 и имеющими разрывы страниц.
При работе с документом, созданным в word 2000, вставка подложки происходит только до первого разрыва.
Вопрос: как корректно распределить подложки по всем разрывам документа, созданного в Word 2000?
Заранее спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.02.2011, 10:51
Ответы с готовыми решениями:

баг в C++ Builder 2009, 2010
помогите пожалуйста, в 2009 и 2010 Билдер не могу скомпилировать код в котором используется класс с конструктором копирования и оператором...

ClientSocket и ServerSocket Builder 2009 кодировка ASCII и UNICODE в Builder 2009
Добрый день. Столкнулся с проблемой, ServerSocket (сереверное приложение ) было написано на Builder 2006 ,ClientSocket написан на Builder...

Какой компилятор C++ Builder использовать? Rad Studio 2009 глючит. C++ Builder 6 старый
Много раз замечал непонятки с компилятором. Масла в огонь подлил Какой посоветуете?

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.02.2011, 10:51
Помогаю со студенческими работами здесь

Как добавить watermark в word документ?
Ludi podskajite! Sleduyushaya problema neobxodimo dobavit watermark (background-image) v word document. Moshet kto...

Перенести код из C++ Builder 5 в C++ Builder 2009
Здравствуйте! Назрела проблема, может быть поможете. СУть в следующем - сделал прогу на 5-ом Билдере, приношу преподу показывать, а там...

Проблема создал проект в builder 2009 а в 2007 builder проект не открывается может кто то сталкивался?
Проблема создал проект в builder 2009 а в 2007 builder проект не открывается может кто то сталкивался? Суть проблемы у меня на компе 2009...

C++ builder 2009
void __fastcall TForm6::Button1Click(TObject *Sender) { Float a,v; a = StrToFloat(Edit1->Text); if (a>0) { v= 1+sqrt(a); ...

Переход на C++ Builder 2009
Доброго времени суток, может это не место для этой темы но все же проконсультируйте пожалуйста меня:) Хочу перейти с C++ Builder 2006 на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru