Author |
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 |
|
|
immortal
Russia
391 Posts |
Posted - 12/15/2004 : 09:51:34
|
Проблема мной решена можно скачать с моего сайта програмульку, чтобы работала нужно зарегистрироваться (бесплатно), позволяет печатать в том числе и страницы разной ориентации, находиться на тестировании, так-что принимаются замечания и устраняются, работает только в визио 2003, кроме всего наблюдался в визио следующий глюк, при печати на принтере А3 листа А2, при просмотре все нормально, при печати неверная ориентация, те-же действия с помощью моей программы, все нормально, так-же позволяет напечатать весь документ содержащий листы А3 и А4 на двух принтерах а3 и а4, теоритически можно сделать чтобы печатал на одном А3 но брал с разных лотков, пока такого принтера нет, если кто протестит и раскажет результаты, буду благодарен.
визио 2003 форэвер
...а вобще-то я белый и пушистый. |
|
|
Мирна
Czech Republic
11 Posts |
Posted - 12/15/2004 : 11:26:06
|
Спасибо за советы... попробую воспользоваться. To immortal: К сожедению у меня MS Visio Professional 2002 SR-1 наверно твоя програмуля работать не будет...
To Tumanov: ...эээ... боюсь показаться невеждой... но как и где пошутся макросы?.. Моя работа с Visio тесно не связана, но иногда приходится рисовать диаграммы.... в Word это делать по меньшей мере глупо... так что пользуюсь Visio (пользуюсь тем на что есть лицензия). Нету ли какой-нить ссылки на документацию по написанию макросов?
А вообще за помощь большее спасибо ;) |
|
|
Digitall
Russia
389 Posts |
Posted - 12/15/2004 : 11:40:21
|
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) Выбрать инструмент поворота и повернуть за любой угол страницу, как вам удобно. |
|
|
immortal
Russia
391 Posts |
Posted - 12/15/2004 : 11:52:35
|
quote: но как и где пишутся макросы?
меню Инструменты - Макрос - Редактор Wisual Basic или Tools - Macros - Visual Basic Editor или alt + F11 туда и надо писать макросы, макрос это от Sub до End sub quote: MS Visio Professional 2002 SR-1
а на дворе почти 2005 год (imho)
визио 2003 форэвер
...а вобще-то я белый и пушистый. |
|
|
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 - это задание на распечатку пяти страниц. Больше программа не умеет ничего. |
|
|
Мирна
Czech Republic
11 Posts |
Posted - 12/16/2004 : 11:19:25
|
To Digitall: Visio у меня английский ;) (Allow page rotation галочку поставила...на всякий случай)
To immortal: :) Пользуем только зарегистрированое ПО... ;)фирма купила права на Visio 2002 ...приходится пользовать его... ;) хорошо еще, что не 2000.....;)
To Tumanov: Утилиту скачала, спасибо. Сейчас поставлю...посмотрим заработает ли. ;) |
|
|
Мирна
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.. и вообще этой папки нигде нет... (я так понимаю, что ее нужно было создать?.. или она уже должна быть?) но в любом случае...ее нет.
|
|
|
Мирна
Czech Republic
11 Posts |
Posted - 12/16/2004 : 16:37:41
|
To Tumanov: Считать, что предыдущего поста не было ,) Все нашла и записала, но приложение не работает. Выдает ошибку (к сожалению не могу приэтачить PrintScreen)
Ошибка:
Run-time error'-2032465751 (86db08a9)': Invalid parameter. |
|
|
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. Последний вопрос ко всем: Кто-нибудь еще попробовал запустить программку? У Вас работает? |
|
|
Мирна
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, то сможет ли кто-нибудь запустить проект в режиме отладки (он очень простой и маленький).
Думаю, что смогла бы сама попробовать отладить проект (да и народ тут тоже есть).
|
|
|
Tumanov
Russia
1198 Posts |
|
Мирна
Czech Republic
11 Posts |
Posted - 12/21/2004 : 11:20:11
|
Что-то не получается.... (как все это запустить?....) |
|
|
Digitall
Russia
389 Posts |
Posted - 12/21/2004 : 11:32:19
|
quote: Originally posted by Мирна
Что-то не получается.... (как все это запустить?....)
Предлагал же просто повернуть страницу... |
|
|
Мирна
Czech Republic
11 Posts |
Posted - 12/21/2004 : 14:56:50
|
To Digitall: Просто повернуть страницу не достаточно..... не распечатывает принтер просто так повернутые страницы...он их половинит и печатает частями, если ориентация страниц принтера и Visio не совпадает, а у меня в документе листы с разной ориентацией.... ЧТо же вы мне предлагаете печатать сначала листы с одной ориентацией, потом менять настройку для принтера и печатать остальные?... Уже запарилась так делать... ;) Я лично не понимаю как создатели Visio не подумали о такой вещи, как печать Landscape и Portrait листов в одном документе. |
|
|
Topic |
|