Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с компонентами Word, Как переносить макросы с VBA в С++ 
:(
    Опции темы
rugo
Дата 24.3.2008, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 24.3.2008

Репутация: нет
Всего: нет



Всем добрый день.
У меня такая проблема.
Пытаюсь разобраться с компонентами типа Word на вкладке Office2k.В интернете очень мало информации на эту тему.Все советуют запускать макросы в Word и переносить VBA-код в С++.
Как создать таблицу я понял.
Код

WordDocument1->Tables->Add(WordDocument1->Range(EmptyParam, EmptyParam), 4, 5);

Проблема в том,что она создается не тем стилем.В макросе VBA должен быть стиль "Сетка таблицы"
Код

Sub Макрос2()
'
' Макрос2 Макрос
' Макрос записан 24.03.2008 Admin
'
    ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=2, NumColumns:= _
        5, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
        wdAutoFitFixed
    With Selection.Tables(1)
        If .Style <> "Сетка таблицы" Then
            .Style = "Сетка таблицы"
        End If
        .ApplyStyleHeadingRows = True
        .ApplyStyleLastRow = True
        .ApplyStyleFirstColumn = True
        .ApplyStyleLastColumn = True
    End With
End Sub

У меня не получается изменить стиль в С++.
Подскажите как победить проблему.
PM MAIL   Вверх
mrbrooks
Дата 24.3.2008, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



здесь можно поступить двумя способами имхо:
1. Качнуть или правильнее купить книгу Архангельского -  программирования в Билдере. Там про эти компоненты сказано. Впринципе есть еще хелп. 
2. пользоваться не компонентами а OLE-сервером - впринципе тоже достаточно эротично. Для начала почитай здесь



PM MAIL   Вверх
rugo
Дата 27.3.2008, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 24.3.2008

Репутация: нет
Всего: нет



Цитата(mrbrooks @  24.3.2008,  21:51 Найти цитируемый пост)
пользоваться не компонентами а OLE-сервером

Спасибо за ссылку.
Таблицы я создавать научился.Теперь хочу добавить в документ колонтитулы.
Макрос Word выдал следующее:
Код

    If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
        ActiveWindow.Panes(2).Close
    End If
    If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
        ActivePane.View.Type = wdOutlineView Then
        ActiveWindow.ActivePane.View.Type = wdPrintView
    End If
    ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    Selection.TypeText Text:="Ghyuio"
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument

Как это будет на С++?

Это сообщение отредактировал(а) rugo - 27.3.2008, 15:00
PM MAIL   Вверх
petlyura
Дата 28.3.2008, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 162
Регистрация: 30.1.2008
Где: Харьков

Репутация: 2
Всего: 2



Я не переводил с VBA на C++ приведенное выше, но я добавляю в колонтитул надписи так:

WideString SS (caption); //caption - это строка, добавляемая в колонтитул (тип AnsiString)
   // переходим на колонтитул
  WordApp->ActiveWindow->ActivePane->View->SeekView = wdSeekCurrentPageHeader;
  WordApp->Selection->InsertAfter(SS.c_bstr());

  WFont->set_Size(14);  //шрифты
  WFont->set_Bold (1);

  WParagraphFormat->set_Alignment(wdAlignParagraphCenter); //центрируем
  WordApp->Selection->HeaderFooter->PageNumbers->Add((OleVariant)wdAlignPageNumberRight, (OleVariant)true);
  WordApp->Selection->Collapse(D);
  // возвращаемся в документ из колонтитула
  WordApp->ActiveWindow->ActivePane->View->SeekView = wdSeekMainDocument;
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0646 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.