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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2009, 11:23   #1
Саня_Д
 
Регистрация: 25.09.2009
Сообщений: 5
По умолчанию Расчет зума

Здравствуйте, подскажите пожалуйста что я не учел в макросе для расчета зума по ширине? Почему-то зум больше чем нужен.

'Макрос для установке зума по ширине
Sub РасчетЗумаПоШирине()
' Колво колонок которые должны поместиться
' на страницу по ширине
КолвоКолонок = 15
ШиринаСтолбцов = 0
Set оСтраница = ActiveSheet

ШиринаСтраницы = Application.CentimetersToPoints(29. 7)
ВерхНизОтступы = оСтраница.PageSetup.TopMargin + оСтраница.PageSetup.BottomMargin
ЛевоПравоОтступы = оСтраница.PageSetup.LeftMargin + оСтраница.PageSetup.RightMargin

Set оКолонка1 = оСтраница.Columns(1)
Set оКолонка2 = оСтраница.Columns(КолвоКолонок)
Set оДиапазон = оСтраница.Range(оКолонка1, оКолонка2)
ШиринаСтолбцов = ШиринаСтолбцов + оДиапазон.Width

ЗумШирина = (ШиринаСтраницы - ЛевоПравоОтступы) / ШиринаСтолбцов

'оСтраница.PageSetup.Zoom = CInt(ЗумШирина)

MsgBox "(" + CStr(ШиринаСтраницы) + " - " + CStr(ЛевоПравоОтступы) + ")" + " / " + CStr(ШиринаСтолбцов) + " = " + CStr(ЗумШирина)
End Sub
Саня_Д вне форума Ответить с цитированием
Старый 21.10.2009, 13:28   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

отмечаете нужный диапазон.
Код:
ActiveWindow.Zoom = True
это автоматически выберет масштаб, при котором видно все, что отмечено.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 21.10.2009, 14:30   #3
Саня_Д
 
Регистрация: 25.09.2009
Сообщений: 5
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
отмечаете нужный диапазон.
Код:
ActiveWindow.Zoom = True
это автоматически выберет масштаб, при котором видно все, что отмечено.
Да, я знаю что есть такая возможность. Но у меня задача именно рассчитать.
PS^ Мне просто непонятно почему рассчитанный зум получается больше реального. Что-то неправильно в рассчете ширины колонок, но что именно неизвестно
Саня_Д вне форума Ответить с цитированием
Старый 21.10.2009, 15:05   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

ширина колонок - это хорошо, а есть еще размер окна приложения и перевод пиксели-точки-дюймы... я закинул эту задачу когда-то, остановился на том, что написал, мне хватило
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 21.10.2009, 15:21   #5
Саня_Д
 
Регистрация: 25.09.2009
Сообщений: 5
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
ширина колонок - это хорошо, а есть еще размер окна приложения и перевод пиксели-точки-дюймы... я закинул эту задачу когда-то, остановился на том, что написал, мне хватило
А причем здесь размер окна приложения? Перевод писксели-точки-дюймы(сантиметры) - используется в одном месте - получение ширины листа в поинтах. Свойство Width так же возвращает размер в поинтах, отступы тоже в поинтах, так что здесь при расчтете ширины должна присутствовать еще какая-то доп. величина(например, ширина границ ячеек).
Саня_Д вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Расчет в запросе! pobedin SQL, базы данных 22 03.09.2009 15:46
Кредит, расчет. valerij Microsoft Office Excel 6 14.04.2009 23:15
Расчет движения voodoomedved Gamedev - cоздание игр: Unity, OpenGL, DirectX 5 25.02.2009 23:07
Расчет средневзешенного zoman Microsoft Office Excel 2 05.12.2007 10:15
Расчет стажа работы John_chek Общие вопросы Delphi 6 13.04.2007 13:38