![]() |
|
![]() ![]() ![]() |
|
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
Надо повернуть лист Word в альбомный, для последующего создания там таблицы.
Попутно вопрос по таблице - там нужно будет объединять ячейки (смежные по горизонтали и по вертикали), как это делается? Работаю с компонентом WordApplication. |
|||
|
||||
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 1 Всего: 44 |
4 года назад надо было подобное.
помогла эта книга ![]() |
|||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
Так это Дельфи.
|
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
chaos, у меня такая есть.
![]() А какая разница в данном случае? ![]() ![]() -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
Открываю ворд, добавляю документ и пытаюсь его развернуть, но выскакивает ошибка.
Вот код:
А вот ошибка. ![]() И что она означает? |
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
Нитонисе, если я не путаю, для параметров страницы в системе должен быть установлен принтер.
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
||||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
Ну да. Как иначе - лично я не в курсе. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
А можно как нибудь установить фиктивный принтер? реального нет. Чтоб проверить.
|
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
dopdf - он даже бесплатный. При печати сохраняет в .pdf. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
||||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
А если вместо константы (wdOrientLandscape) подставить её значение = 1 ?
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
Та же самая ошибка. А попробуйте у себя этот мой код? Там всего четыре строчки, я их повесил на обработчик нажатия кнопки. У вас такая ошибка будет? И может кто подскажет вариант разворота листа через OLE-технологию? |
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
Попробовал. Ошибок не выдаёт, но и не разворачивает.
![]() -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
||||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
Я на Билдере этого никогда не делал, только на Дельфи, но уверен на 99% что на форуме работа с Word'ом из Билдере где-нибудь да описывалась. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
||||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
Так аналогично: создаёшь OLE-объект и задаёшь ему нечто вроде
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
||||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
Попробовал через напрямую через OLE подключиться к ворду и повернуть в нем лист
Последняя строчка кода не выполняется. Ошибка с сообщением - "вызов был отклонен". Как переписать эту строчку, чтобы она работала? |
|||
|
||||
Usper |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 13.4.2007 Репутация: 15 Всего: 15 |
Параметры страницы нужно устанавливать не для документа, а для таблицы:
И обратите внимание, что для альбомного режима параметру ориентация нужно присвоить значение 2, а не 1. -------------------- На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник. |
|||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
||||
|
||||
Usper |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 13.4.2007 Репутация: 15 Всего: 15 |
Ой
![]() -------------------- На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник. |
|||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
||||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
Нитонисе, а в самом Ворде параметры страницы (альбомный вид т.е.) нормально выставляются, без ошибок? Бывает ещё, что "офис" тупит.
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
Нитонисе |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
В самом ворде все работает. Вот так выглядит макрос.
Все больше склоняюсь к тому чтобы поставить себе ворд 2007. Уже бы давно поставил, мне в нем не нравится цвет черного шрифта на белом фоне страницы - он какой-то размытый, глаза устают. А в этом ворде - четкий. |
||||
|
|||||
Usper |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 13.4.2007 Репутация: 15 Всего: 15 |
Да, так и есть. Прежде чем переходить на другую версия офиса я советую проверить его работоспособность с уже существующем кодом. Я уже сталкивался с тем, что одна и та же моя программа нормально работает с Excel 97-2003, но начинает глючить с Excel 2007. При том, что макросы, генерируемые для выполнения нужных действий, одинаковы для разных версий Excel. Нужные мне действия просто не выполняются без сообщений об ошибке со стороны 2007 версии Excel :(. -------------------- На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник. |
|||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
А проверьте этот код
Все то же самое, только через компоненты билдера. У меня был установлен Office XP, переустановил на Office 2003, а потом и на Office 2007 - везде одна и та же ошибка. |
|||
|
||||
sawfish |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 30.7.2008 Где: Новосибирск Репутация: 8 Всего: 8 |
У меня Ваш код работает. Но разворот выполняется с задержкой около 10 сек.
XP Pro SP2 Word 2003 SP1 |
|||
|
||||
Usper |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 13.4.2007 Репутация: 15 Всего: 15 |
Аналогично, оба варианта работают, Win XP SP2 + Office 2003 и Office 2007.
-------------------- На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник. |
|||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
Интересно. У меня через OLE-технологию все так же не работает, а вот через компоненты срабатывает, но только если выставить свойство компонента WordApplication1->ConnectKind = ckRunningOrNew. У этого свойства есть недостаток - при закрытия моей программы закрываются и все открытые вордовские документы. Мне более удобно WordApplication1->ConnectKind = ckNewInstance. При установке этого свойства закрываются только те вордовские документы, которые были открыты из моей программы. Тоже не очень удобно, но как сделать чтобы ворд не закрывался вместе с закрытием моей программы - не придумал.
Добавлено через 14 минут и 50 секунд Посмотрите эту тестовую программку по развороту листа. В каких режимах работает, а в каких нет? Присоединённый файл ( Кол-во скачиваний: 6 ) ![]() |
|||
|
||||
Usper |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 13.4.2007 Репутация: 15 Всего: 15 |
Все три варианта нормально сработали.
-------------------- На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник. |
|||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
Вот какая штука получается. Оказывается метод разворота листа компонентами и у меня работает
Этот метод не хочет работать только с первым листом ворда, который создается. Со вторым и всеми последующими - работает. У других все нормально работает и с первым листом, очевидно что это проблема моего ворда. Вот какая у него есть особенность - когда я запускаю его из своей программы и создаю первый лист, то он создается, но при этом выскакивает вот такая ошибка ![]() второй и все последующие листы создаются без этой ошибки. Точно такая же ошибка выскакивает когда я открываю ворд и из других программ от других разработчиков, значит дело не в программных приемах, а в самом ворде. В чем может быть дело? Что э это за ошибка такая, которая мне не позволяет развернуть первый создаваемый лист ворда? Создавать два листа, использовать для отчета второй, а первый потом удалять - очень уж кривое решение для создания отчета. |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 18 Всего: 135 |
Нитонисе, по поводу "неверно указана единица измерения" - попробуй в начале программы ( например, в конструкторе главной формы ) написать
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 1 Всего: 44 |
удалено
Это сообщение отредактировал(а) chaos - 19.3.2010, 07:42 |
|||
|
||||
Usper |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 13.4.2007 Репутация: 15 Всего: 15 |
Нитонисе, тут уже надо смотреть Ваш код, может быть никакой ошибки и нет. В ворде параметры страницы могут применяться как ко всему документу, так и к текущему разделу. Я пользуюсь этой особенностью когда мне необходимо только часть листов из документа повернуть.
Хотя если не работает код из поста от 9.3.2010, 19:57... Как вариант ещё может быть какой-то косяк в шаблоне Normal, который используются по-умолчанию со всеми документами. Попробуйте создать документ своей программой и потом просмотреть непечатаемые знаки в документе. -------------------- На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник. |
|||
|
||||
Нитонисе |
|
||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
У меня точка установлена в системе как разделитель целой и дробной части. Странно что такая ошибка выскакивает только при создании первого документа. При этом она почти ни на что не влияет, вот разве что мешает этот самый первый лист развернуть в альбомный.
Да код простой - те самый четыре строчки, создающих сервер Word и открывающих там документ, который затем нужно развернуть. Так дело то в том, что скорее всего дело не в коде, потому что точно такая же ошибка с неверной единицей измерения появляется если ворд запустить из какой-нибудь другой программы. Вот у меня есть программа с базой данных документов. Все документы в вордовском формате. Когда я запускаю какой-либо документ - появляется эта ошибка. Но второй и все последующие документы запускаются из этой программы уже без ошибки.
Это как это посмотреть непечатаемые знаки? |
||||||
|
|||||||
Usper |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 13.4.2007 Репутация: 15 Всего: 15 |
Поставьте галку "все" и смотрите есть ли в документе "Разрыв раздела" или что-то подобное. Это сообщение отредактировал(а) Usper - 19.3.2010, 12:46 -------------------- На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник. |
|||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
||||
|
||||
Usper |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 13.4.2007 Репутация: 15 Всего: 15 |
Это нормальное состояние нового документа. Значит дело не в разделах документа. Попробуйте переустановить офис.
-------------------- На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник. |
|||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
||||
|
||||
Usper |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 13.4.2007 Репутация: 15 Всего: 15 |
Остаётся радикальный метод - переустановка системы.
![]() Хотя для начала лучше проверить всё это в виртуальной машине, Virtual Box'е, например. -------------------- На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник. |
|||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
||||
|
||||
6pahan6 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 18.3.2010 Репутация: нет Всего: нет |
http://letitbit.net/download/7701.ebc7039d....part2.rar.html
http://letitbit.net/download/9765.9fe2b319....part1.rar.html вот две ссылки, там выложены видосы, которые помогут в изучении С++, желаю удачи в изучении... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |