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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.11.2010, 10:59   #1
memVBA
Новичок
Джуниор
 
Регистрация: 03.11.2010
Сообщений: 7
По умолчанию Как определить масштаб страницы

После выполнения данного кода,

ws.PageSetup.Zoom = False
ws.PageSetup.FitToPagesWide = 1
ws.PageSetup.FitToPagesTall = 99 ,

при повторном входе в параметры страницы в поле масштаб появляется некое значение.
Как его вытащить программно?
memVBA вне форума Ответить с цитированием
Старый 03.11.2010, 11:06   #2
EugeneS
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 472
По умолчанию

можно так,

Код:
ActiveWindow.Zoom
EugeneS вне форума Ответить с цитированием
Старый 03.11.2010, 11:08   #3
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Наверное так
Код:
iZoom = ActiveWindow.Zoom
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 03.11.2010, 11:11   #4
memVBA
Новичок
Джуниор
 
Регистрация: 03.11.2010
Сообщений: 7
По умолчанию

Имеется ввиду не масштаб просмотра, а в Файл - Параметры страницы - закладка Страница - поле Масштаб (установить <значение> от натуральной величины
memVBA вне форума Ответить с цитированием
Старый 03.11.2010, 11:17   #5
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Код:
iPageZoom = ActiveSheet.PageSetup.Zoom
p.s.
Записывайте, читайте, изучайте макросы.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 03.11.2010, 11:20   #6
memVBA
Новичок
Джуниор
 
Регистрация: 03.11.2010
Сообщений: 7
По умолчанию

ws.PageSetup.Zoom = False
ws.PageSetup.FitToPagesWide = 1
ws.PageSetup.FitToPagesTall = 99
iPageZoom = ActiveSheet.PageSetup.Zoom
Результат: iPageZoom = False
А теперь, если войти (интерактивно) в параметры страницы, то в поле масштаб мы увидим, например, 96.
Вот его-то мне и надо вытащить!
memVBA вне форума Ответить с цитированием
Старый 03.11.2010, 11:26   #7
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Так эта строка его и "вытаскивает" и показывает значение.
По крайней мере у меня.
Цитата:
ws.PageSetup.Zoom = False
Естественно покажет
Цитата:
Результат: iPageZoom = False
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

Последний раз редактировалось VictorM; 03.11.2010 в 11:32.
VictorM вне форума Ответить с цитированием
Старый 03.11.2010, 11:35   #8
memVBA
Новичок
Джуниор
 
Регистрация: 03.11.2010
Сообщений: 7
По умолчанию

Если нарисовать на листе таблицу и выполнить простейший макрос
Sub Ìàêðîñ1()
ActiveSheet.PageSetup.Zoom = False
ActiveSheet.PageSetup.FitToPagesWid e = 1
ActiveSheet.PageSetup.FitToPagesTal l = 99
iPageZoom = ActiveSheet.PageSetup.Zoom

End Sub

,то iPageZoom = False, что естесственно. Мы же присвоили Zoom = False

но ведь в поле масштаб появляется цифра!!! Как её вытащить? )))
memVBA вне форума Ответить с цитированием
Старый 03.11.2010, 11:49   #9
memVBA
Новичок
Джуниор
 
Регистрация: 03.11.2010
Сообщений: 7
По умолчанию

Задача моя в том, чтобы определить масштаб, который нужно выставить, чтобы вся таблица поместилась на 1 лист по ширине (по высоте неважно можно хоть 999), не используя при этом PageSetup.FitToPagesWide и PageSetup.FitToPagesTall, а используя только PageSetup.Zoom.
memVBA вне форума Ответить с цитированием
Старый 03.11.2010, 12:10   #10
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Так может не определять, а просто выставить "внаглую"?))
Код:
Sub Макрос3()
    On Error Resume Next'если помещается на странице и так
    ActiveWindow.View = xlPageBreakPreview
    ActiveSheet.VPageBreaks(1).DragOff Direction:=xlToRight, RegionIndex:=1
    ActiveWindow.View = xlNormalView
    iPageZoom = ActiveSheet.PageSetup.Zoom' просто для справки
End Sub
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменить масштаб в IDE С++ Maks7482 Софт 2 20.08.2010 12:07
Как программно задать масштаб при печати Евгений ГВС Microsoft Office Excel 1 01.02.2010 15:17
Определить адрес страницы. Djem1991 PHP 5 23.10.2009 10:18
Как присвоить вертикальный масштаб одной гистограммы другой? Cerebrum Общие вопросы Delphi 0 26.05.2009 23:57
Как сделать разрыв страницы печати по условию и узнать номер страницы Leanna Microsoft Office Excel 2 21.01.2008 06:59