All Forums
 Категория Visio
 Форум Вопросы и ответы
 Распечатка страниц с разной ориентацией - проблема
Next Page
Author Previous Topic Topic Next Topic

Мирна

Czech Republic
11 Posts

Posted - 12/14/2004 :  13:43:23
Может здесь уже было, но я не нашла ответа на свой вопрос.
Итак проблема:
Не могу распечатать страницы с разной ориентацией, если они в одном документе.
Если ориентация стр. в Visio совпадает с ориентацией стр. на принтере, то все ок.
Если же нет, то принтер печатает изображение кусками....т.е. делит его
и получается, что половина страниц нормальные, а половина поделена на две части и распечатана на двух листах.
Есть ли где-то в свойствах....или может еще как-то можно установить... что бы распечатка подстраивалась под ориентацию страницы.
Спасибо если кто откликнется..

Tumanov

Russia
1198 Posts

Posted - 12/14/2004 :  20:23:48
Можно попробовать программную печать.
Вот такой макрос сначала печатает первую страницу (она у меня вертикальная),
потом делает активной вторую (горизонтальная), изменяет ориентацию на
принтере (.PrintLandscape) на противоположную и печатает вторую страницу.
Если чуть усложнить этот примерчик, то можно печатать произвольное число
листов с произвольной ориентацией. Можно макросом при каждом перелистывании
смотреть ориентацию текущей страницы PageSheet.Cells("PageWidth"), ставить
нужную ориентацию принтера и печатать, пока страницы не кончатся...
(В примере "PageWidth" закомментировано и не используется. dummy и
docObjTemp - это какая-то особенности метода Print, написано, что из VBA
печатать надо именно так).

Sub ttt()
Dim docObj As Visio.Page
Dim docObjTemp As Object
Dim dummy As String

Set docObj = ActivePage
Set docObjTemp = docObj
dummy = docObjTemp.Print
ActiveWindow.Page = "Page-2"
'Height = ActivePage.PageSheet.Cells("PageWidth")
'ActivePage.PageSheet.Cells("PageWidth") =
ActivePage.PageSheet.Cells("PageHeight")
'ActivePage.PageSheet.Cells("PageHeight") = Height
If ActiveDocument.PrintLandscape Then ActiveDocument.PrintLandscape = False
Else ActiveDocument.PrintLandscape = True
Set docObj = ActivePage
Set docObjTemp = docObj
dummy = docObjTemp.Print
End Sub
Go to Top of Page

immortal

Russia
391 Posts

Posted - 12/15/2004 :  09:51:34  Visit immortal's Homepage
Проблема мной решена можно скачать с моего сайта програмульку, чтобы работала нужно зарегистрироваться (бесплатно), позволяет печатать в том числе и страницы разной ориентации, находиться на тестировании, так-что принимаются замечания и устраняются, работает только в визио 2003, кроме всего наблюдался в визио следующий глюк, при печати на принтере А3 листа А2, при просмотре все нормально, при печати неверная ориентация, те-же действия с помощью моей программы, все нормально, так-же позволяет напечатать весь документ содержащий листы А3 и А4 на двух принтерах а3 и а4, теоритически можно сделать чтобы печатал на одном А3 но брал с разных лотков, пока такого принтера нет, если кто протестит и раскажет результаты, буду благодарен.

визио 2003 форэвер

...а вобще-то я белый и пушистый.
Go to Top of Page

Мирна

Czech Republic
11 Posts

Posted - 12/15/2004 :  11:26:06
Спасибо за советы... попробую воспользоваться.
To immortal:
К сожедению у меня MS Visio Professional 2002 SR-1
наверно твоя програмуля работать не будет...

To Tumanov:
...эээ... боюсь показаться невеждой... но как и где
пошутся макросы?.. Моя работа с Visio тесно не связана, но иногда приходится рисовать диаграммы.... в Word это делать по меньшей мере глупо... так что пользуюсь Visio (пользуюсь тем на что есть лицензия). Нету ли какой-нить ссылки на документацию по написанию макросов?

А вообще за помощь большее спасибо ;)
Go to Top of Page

Digitall

Russia
389 Posts

Posted - 12/15/2004 :  11:40:21  Visit Digitall's Homepage
quote:
Originally posted by Мирна

Спасибо за советы... попробую воспользоваться.
To immortal:
К сожедению у меня MS Visio Professional 2002 SR-1
наверно твоя програмуля работать не будет...

To Tumanov:
...эээ... боюсь показаться невеждой... но как и где
пошутся макросы?.. Моя работа с Visio тесно не связана, но иногда приходится рисовать диаграммы.... в Word это делать по меньшей мере глупо... так что пользуюсь Visio (пользуюсь тем на что есть лицензия). Нету ли какой-нить ссылки на документацию по написанию макросов?

А вообще за помощь большее спасибо ;)


Вы можете просто повернуть страницу и работать с разными ориентациями страниц в одном документе.
Вы к сожалению не указали, испольуете ли русификатор...
1) Разрешить вращение страницы.
Сервис>Параметры>Общие>Разрешить вращение страницы.
Tool>Options>General>Allow page rotation.
2) Выбрать инструмент поворота и повернуть за любой угол страницу, как вам удобно.
Go to Top of Page

immortal

Russia
391 Posts

Posted - 12/15/2004 :  11:52:35  Visit immortal's Homepage
quote:
но как и где пишутся макросы?
меню Инструменты - Макрос - Редактор Wisual Basic или Tools - Macros - Visual Basic Editor или alt + F11 туда и надо писать макросы, макрос это от Sub до End sub
quote:
MS Visio Professional 2002 SR-1
а на дворе почти 2005 год (imho)

визио 2003 форэвер

...а вобще-то я белый и пушистый.
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 12/15/2004 :  18:45:28
Добавил небольшую оболочку к этому алгоритму.
Скачайте, разархивируйте, положите в папочку Solutions.
(у меня это D:\Program Files\Microsoft Office\Visio10\1033\Solutions)
http://visio.artberg.ru/store/orientprint.zip
В Visio 2002 работает.
Запускаться будет через Tools / Macros / OrientPrint
Если не работает - пишите.
Если захочется что-то добавить или усовершенствовать - пишите.

Эта небольшая утилита помогает печатать документ Visio с разной ориентацией страниц.
Требуемая ориентация страницы определяется по соотношению высоты и ширины страницы Visio. В зависимости от этого выбирается либо ориентация Portrait, либо Landscape.
Можно также указать номера распечатываемых страниц. Страницы при этом отсчитываются, начиная с 1. Номера перечисляются через запятую или указывается диапазон номеров, например, 1,2,4-6 - это задание на распечатку пяти страниц.
Больше программа не умеет ничего.
Go to Top of Page

Мирна

Czech Republic
11 Posts

Posted - 12/16/2004 :  11:19:25
To Digitall:
Visio у меня английский ;) (Allow page rotation галочку поставила...на всякий случай)

To immortal:
:) Пользуем только зарегистрированое ПО... ;)фирма купила
права на Visio 2002 ...приходится пользовать его... ;)
хорошо еще, что не 2000.....;)

To Tumanov:
Утилиту скачала, спасибо. Сейчас поставлю...посмотрим заработает ли. ;)
Go to Top of Page

Мирна

Czech Republic
11 Posts

Posted - 12/16/2004 :  11:37:24
To Tumanov:
У меня папки Visio имеют совершенно другую структуру.
Папка 1033 находится аж....
C:\Program Files\Microsoft Visual Studio\Common\IDE\IDE98\resources\1033
но в ней нет папки Solutions.. и вообще этой папки нигде нет... (я так понимаю, что ее нужно было создать?..
или она уже должна быть?) но в любом случае...ее нет.



Go to Top of Page

Мирна

Czech Republic
11 Posts

Posted - 12/16/2004 :  16:37:41
To Tumanov:
Считать, что предыдущего поста не было ,)
Все нашла и записала, но приложение не работает.
Выдает ошибку (к сожалению не могу приэтачить PrintScreen)

Ошибка:

Run-time error'-2032465751 (86db08a9)':
Invalid parameter.
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 12/16/2004 :  18:58:44
Даже интересно :)
Я ее пока пробовал под:
Windows 2000 + Visio 2003 - работала
Windows 98 + Visio 2002 - работала
Windows XP + Visio 2003 - работала

1. Какой у Вас Windows?
2. Когда происходит ошибка? До того, как выводится формочка или после нажатия на кнопку OK на форме?
3. Если при нажати на кнопку OK, то какой Вы ставили переключатель - "Все" или указывали номера страниц?
4. Судя по проскочившей чуть выше строке, у Вас есть Visual Studio. Если я пришлю исходные коды проекта в Visual Basic, то сможет ли кто-нибудь запустить проект в режиме отладки (он очень простой и маленький).

5. Последний вопрос ко всем: Кто-нибудь еще попробовал запустить программку? У Вас работает?
Go to Top of Page

Мирна

Czech Republic
11 Posts

Posted - 12/17/2004 :  11:24:04
To Tumanov:
Начнем по порядку. ;)

1. Какой у Вас Windows?

Windows XP Professional - MS Visio 2002

2. Когда происходит ошибка? До того, как выводится формочка
или после нажатия на кнопку OK на форме?
3. Если при нажати на кнопку OK, то какой Вы ставили
переключатель - "Все" или указывали номера страниц?

Ошибка происходит при нажатии кнопки ОК на форме, причем во всех трех случаях (при выборе любого пункта меню) - одна и таже.

4. Судя по проскочившей чуть выше строке, у Вас есть Visual Studio.
Если я пришлю исходные коды проекта в Visual Basic, то сможет ли
кто-нибудь запустить проект в режиме отладки (он очень простой и
маленький).

Думаю, что смогла бы сама попробовать отладить проект (да и народ тут тоже есть).
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 12/17/2004 :  20:17:54
http://visio.artberg.ru/store/printsource.zip
Только не забудьте написать, в чем дело было
Go to Top of Page

Мирна

Czech Republic
11 Posts

Posted - 12/21/2004 :  11:20:11
Что-то не получается.... (как все это запустить?....)
Go to Top of Page

Digitall

Russia
389 Posts

Posted - 12/21/2004 :  11:32:19  Visit Digitall's Homepage
quote:
Originally posted by Мирна

Что-то не получается.... (как все это запустить?....)


Предлагал же просто повернуть страницу...
Go to Top of Page

Мирна

Czech Republic
11 Posts

Posted - 12/21/2004 :  14:56:50
To Digitall:
Просто повернуть страницу не достаточно..... не распечатывает принтер просто так повернутые страницы...он их половинит и печатает частями, если ориентация страниц принтера и Visio не совпадает, а у меня в документе листы с разной ориентацией.... ЧТо же вы мне предлагаете печатать сначала листы с одной ориентацией, потом менять настройку для принтера и печатать остальные?... Уже запарилась так делать... ;)
Я лично не понимаю как создатели Visio не подумали о такой вещи, как печать Landscape и Portrait листов в одном документе.
Go to Top of Page
Previous Topic Topic Next Topic  
Next Page
Данный сайт является архивом форума visio.artberg.ru, который был закрыт в связи с переходом на новую платформу visio.getbb.ru
Все материалы доступны только для чтения! Если у вас появились вопросы, или вы хотите что-то обсудить, связанное с Visio, обращайтесь на новый форум!
Архив был создан благодаря совместным усилиям Генадия Туманова @Tumanov (visio.artberg.ru), Александра ака @Surrogate (visio.getbb.ru), и Николая Белых @nbelyh (unmanagedvisio.com)