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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2010, 08:52   #1
Fox River
Пользователь
 
Регистрация: 08.12.2010
Сообщений: 12
По умолчанию Изменить масштаб лица в зависимости от разрешения экрана

Здравствуйте, подскажите пожалуйста как можно поменять масштаб отображения листа на экране в зависимости от разрешения экрана монитора.
На данном форуме нашел темы в которых показано наоборот изменение разрешения экрана монитора.

Например: если разрешение экрана 1024х768 то масштаб 100%, если 1280х1024, то масштаб листа 130%
Fox River вне форума Ответить с цитированием
Старый 14.12.2010, 09:48   #2
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

В общем случае это может выглядеть так:
Код:
Private Declare Function GetSystemMetrics _
        Lib "user32.dll" (ByVal nIndex As Long) As Long
Private Sub GetSystemScreen()
    Dim iX As Long, iY As Long
    iX = GetSystemMetrics(1&)
    iY = GetSystemMetrics(0&)
    '    MsgBox "Ваш экран имеет разрешение : " & _
         '    iY & "х" & iX, vbExclamation, "Информация"
    iscrin = iY & "х" & iX
    If iscrin = "1280х1024" Then ActiveWindow.Zoom = 100
    If iscrin = "1024х768" Then ActiveWindow.Zoom = 130
End Sub
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 14.12.2010, 09:51   #3
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Например, так:
Код:
Declare Function GetSystemMetrics Lib "user32.dll" (ByVal nIndex As Long) As Long
Public x As Integer
Public y As Integer
Sub Main()
    Select Case GetSystemMetrics(0) & "x" & GetSystemMetrics(1)
        Case "1024x768": ActiveWindow.Zoom = 100
        Case "1280x1024": ActiveWindow.Zoom = 130
    End Select
End Sub
P.S. прошу прощения... Опередили.
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 14.12.2010 в 09:52. Причина: Добавлено
SAS888 вне форума Ответить с цитированием
Старый 14.12.2010, 10:06   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Я использую другой подход - отображаю на экране нужное количество столбцов - на всю ширину экрана.

Это намного проще - и масштаб не надо подбирать для каждого разрешения экрана.

К примеру, этот код установит такой масштаб, чтобы на экране отображались первые 10 столбцов:

Код:
Sub test()
    [a1:j1].Select
    ActiveWindow.Zoom = True
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 14.12.2010, 10:06   #5
Fox River
Пользователь
 
Регистрация: 08.12.2010
Сообщений: 12
По умолчанию

Огромное вам спасибо!!!
Fox River вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Смена разрешения экрана boostman Общие вопросы Delphi 1 05.12.2009 21:47
Изменение разрешения экрана Alex Cones Мультимедиа в Delphi 2 16.04.2009 19:34
Определение разрешения экрана nemoomen Microsoft Office Excel 9 16.03.2009 22:49
Масштаб Листов от разрешения монитора valerij Microsoft Office Excel 20 30.09.2008 20:57
Смена разрешения экрана san72 Помощь студентам 3 05.06.2008 12:38