Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.08.2009, 17:42   #1
Diego__
Форумчанин
 
Регистрация: 12.08.2009
Сообщений: 118
По умолчанию Как разбивать документ на колонки?(не таблица)

Пишу на плюсах.
Хочу узнать как разбить страницу на колонки. Как вообще создавать их программным путем? Буду рад ссылке на ресурс или простенькому примеру.

Хочется реализовать что то на подобии: разбить страницу сначала на 3 колонки, а затем, эту же страницу на 2 колонки. Можно ли в колонке создавать подколонки?

Буду рад ссылке на ресурс или любим сложным / простенькому примерам на любых языках программирования.
Diego__ вне форума Ответить с цитированием
Старый 12.08.2009, 18:02   #2
Busine2009
Новичок
Джуниор
 
Регистрация: 23.05.2009
Сообщений: 167
По умолчанию

Вот так можно разбить весь документ на 3 колонки. Я этот код добыл с помощью макрорекордера. Затем в VBA убрал лишнее.
Код:
Sub РазбивкаНаКолонкиОднако ()
With ActiveDocument.PageSetup.TextColumns
        .SetCount NumColumns:=3
        .EvenlySpaced = True
        .LineBetween = False
        .Width = CentimetersToPoints(4.67)
        .Spacing = CentimetersToPoints(1.25)
    End With
End Sub
Busine2009 вне форума Ответить с цитированием
Старый 12.08.2009, 18:55   #3
Diego__
Форумчанин
 
Регистрация: 12.08.2009
Сообщений: 118
По умолчанию

Спасибо, немного разобрался.
На плюсах это выглядит где то так:

CComVariant width(m_AppWord->CentimetersToPoints(3));
CComVariant spacing(m_AppWord->CentimetersToPoints(0.5f));

m_WordDocument->PageSetup->TextColumns->Add(&width, &spacing);

Теперь не могу понять, я добавляю еще одну колонку к уже имеющейся. Как мне удалить первую, которая создается в документе изначально?
Или как изменить ее width и spacing?

Пробую
m_WordDocument->PageSetup->TextColumns->Item(2)->PutWidth(m_AppWord->CentimetersToPoints(5));

бросается исключение. Как правильно задать ширину уже имеющейся колонке?
Diego__ вне форума Ответить с цитированием
Старый 12.08.2009, 19:13   #4
Busine2009
Новичок
Джуниор
 
Регистрация: 23.05.2009
Сообщений: 167
По умолчанию

Вы адресом ошиблись: здесь союз VBA и Word.

Кстати не в курсе как с помощью плюсов зайти в свойства принтера? В Word есть диалоговое окно Печать (Файл - Печать), а в нём есть кнопка свойства (это программа драйвера принтера).
Может сталкивался, дай ссылку куда-нибудь.

Последний раз редактировалось Busine2009; 12.08.2009 в 19:17.
Busine2009 вне форума Ответить с цитированием
Старый 12.08.2009, 19:40   #5
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

А откуда взялся метод PutWidth? У элемента коллекции Columns есть свойство Width, его и нужно задавать
Расстояние между колонками можно задавать либо через Spacing для всей коллекции Columns, либо через SpaceAfter для элемента этой коллекции. Если расстояния между колонками неодинаковые, то свойство ActiveDocument.PageSetup.TextColumn s.EvenlySpaced будет установлен в значение False
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 14.08.2009, 11:34   #6
Diego__
Форумчанин
 
Регистрация: 12.08.2009
Сообщений: 118
По умолчанию

в плюсах у коллекции колонок и у каждой колонки есть методы PutWidth, put_Width и свойство Width при использовании любого из них результат печальный
Diego__ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как в C# разобрать xml документ Лучик_света Общие вопросы .NET 26 19.12.2012 09:29
Подскажите как можно сравнить 2 таблицы или колонки andrew_v_k Microsoft Office Excel 2 10.08.2009 11:56
Как из колонки DBGrid записать все значения в combobox dolunin БД в Delphi 1 16.03.2009 19:19
Как изменять ширину колонки в пределах нужных строк dru Microsoft Office Excel 1 08.12.2008 17:57