Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Изменение формы VBA UserForm - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Изменение формы VBA UserForm (Макросы/Sub)
Изменение формы VBA UserForm
Shimaruka Дата: Воскресенье, 20.03.2016, 19:19 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Здравствуйте!
Подскажите, плиз, возможно ли программно сделать так, чтобы форма VBA и все
Label, кнопки и прочее при запуске
макроса автоматически подстраивалась под размер экрана монитора?
Спасибо.
 
Ответить
СообщениеЗдравствуйте!
Подскажите, плиз, возможно ли программно сделать так, чтобы форма VBA и все
Label, кнопки и прочее при запуске
макроса автоматически подстраивалась под размер экрана монитора?
Спасибо.

Автор - Shimaruka
Дата добавления - 20.03.2016 в 19:19
StoTisteg Дата: Воскресенье, 20.03.2016, 19:50 | Сообщение № 2
Группа: Авторы
Ранг: Ветеран
Сообщений: 541
Репутация: 45 ±
Замечаний: 0% ±

Excel 2010
Не понятен вопрос. Что значит
автоматически подстраивалась под размер экрана монитора?

Нельзя ли пример?


Проверь всё. ThisWorkbook.Save. On Error Resume Next.
 
Ответить
СообщениеНе понятен вопрос. Что значит
автоматически подстраивалась под размер экрана монитора?

Нельзя ли пример?

Автор - StoTisteg
Дата добавления - 20.03.2016 в 19:50
Udik Дата: Воскресенье, 20.03.2016, 19:55 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1202
Репутация: 152 ±
Замечаний: 0% ±

Excel 2013
Да это с планеты повтор. Там приведён макрос, позволяющий свою картинку выводить при загрузке. Теперь нам предлагают сбегать туда, найти и подкорректировать yes .


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com
 
Ответить
СообщениеДа это с планеты повтор. Там приведён макрос, позволяющий свою картинку выводить при загрузке. Теперь нам предлагают сбегать туда, найти и подкорректировать yes .

Автор - Udik
Дата добавления - 20.03.2016 в 19:55
Shimaruka Дата: Воскресенье, 20.03.2016, 20:06 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
К сожалению, файл получается больше 100 кб и загрузить здесь его не могу.
Этот код создавался на большом мониторе, офис 2010 и размер UserForm
был выбран соответственно этому монитору. Теперь я запускаю код на планшете
десятке и часть формы вылезает за край экрана. На планшете Офис тот же 2010,
система Windows 8. Можно, конечно, в коде вручную установить размер формы,
но наверняка это можно сделать и программно.
 
Ответить
СообщениеК сожалению, файл получается больше 100 кб и загрузить здесь его не могу.
Этот код создавался на большом мониторе, офис 2010 и размер UserForm
был выбран соответственно этому монитору. Теперь я запускаю код на планшете
десятке и часть формы вылезает за край экрана. На планшете Офис тот же 2010,
система Windows 8. Можно, конечно, в коде вручную установить размер формы,
но наверняка это можно сделать и программно.

Автор - Shimaruka
Дата добавления - 20.03.2016 в 20:06
Udik Дата: Воскресенье, 20.03.2016, 20:24 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1202
Репутация: 152 ±
Замечаний: 0% ±

Excel 2013
Так сделайте файл с простенькой формой, приведите код и спросите как программно растянуть на весь экран. Под свои нужды уже сами переделаете. Можно даже без кода, главное файл формой приложите.


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com


Сообщение отредактировал Udik - Воскресенье, 20.03.2016, 20:26
 
Ответить
СообщениеТак сделайте файл с простенькой формой, приведите код и спросите как программно растянуть на весь экран. Под свои нужды уже сами переделаете. Можно даже без кода, главное файл формой приложите.

Автор - Udik
Дата добавления - 20.03.2016 в 20:24
StoTisteg Дата: Воскресенье, 20.03.2016, 20:27 | Сообщение № 6
Группа: Авторы
Ранг: Ветеран
Сообщений: 541
Репутация: 45 ±
Замечаний: 0% ±

Excel 2010
как программно растянуть на весь экран

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


Проверь всё. ThisWorkbook.Save. On Error Resume Next.
 
Ответить
Сообщение
как программно растянуть на весь экран

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

Автор - StoTisteg
Дата добавления - 20.03.2016 в 20:27
dima_dan2012 Дата: Воскресенье, 20.03.2016, 20:40 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 36
Репутация: 7 ±
Замечаний: 0% ±

Excel 2003,2007
Тут без api наверное никак .[vba]
Код

Option Explicit
Public FormIsOn As Boolean
   Public Type RECT
      Left As Long
      Top As Long
      Right As Long
      Bottom As Long
   End Type
Public Declare Function GetSystemMetrics Lib "user32.dll" (ByVal nIndex As Long) As Long
Public Declare Function GetDesktopWindow Lib "user32" () As Long
Public Declare Function GetWindowRect Lib "user32" (ByVal hWnd As Long, lpRect As RECT) As Long

   Public Function ScreenWidth() As Single
      Dim R As RECT
      GetWindowRect GetDesktopWindow(), R
      ScreenWidth = RRight '* Screen.TwipsPerPixelX
   End Function
   
   Public Function ScreenHeight() As Single
      Dim R As RECT
      GetWindowRect GetDesktopWindow(), R
      ScreenHeight = R.Bottom * Screen.TwipsPerPixelY
   End Function

Sub test()
Dim x As Integer, y As Integer
    x = GetSystemMetrics(0)
    y = GetSystemMetrics(1)
    MsgBox "Ширина экрана:" & x & " : " & y
End Sub
[/vba]


Сообщение отредактировал dima_dan2012 - Воскресенье, 20.03.2016, 21:50
 
Ответить
СообщениеТут без api наверное никак .[vba]
Код

Option Explicit
Public FormIsOn As Boolean
   Public Type RECT
      Left As Long
      Top As Long
      Right As Long
      Bottom As Long
   End Type
Public Declare Function GetSystemMetrics Lib "user32.dll" (ByVal nIndex As Long) As Long
Public Declare Function GetDesktopWindow Lib "user32" () As Long
Public Declare Function GetWindowRect Lib "user32" (ByVal hWnd As Long, lpRect As RECT) As Long

   Public Function ScreenWidth() As Single
      Dim R As RECT
      GetWindowRect GetDesktopWindow(), R
      ScreenWidth = RRight '* Screen.TwipsPerPixelX
   End Function
   
   Public Function ScreenHeight() As Single
      Dim R As RECT
      GetWindowRect GetDesktopWindow(), R
      ScreenHeight = R.Bottom * Screen.TwipsPerPixelY
   End Function

Sub test()
Dim x As Integer, y As Integer
    x = GetSystemMetrics(0)
    y = GetSystemMetrics(1)
    MsgBox "Ширина экрана:" & x & " : " & y
End Sub
[/vba]

Автор - dima_dan2012
Дата добавления - 20.03.2016 в 20:40
StoTisteg Дата: Воскресенье, 20.03.2016, 20:45 | Сообщение № 8
Группа: Авторы
Ранг: Ветеран
Сообщений: 541
Репутация: 45 ±
Замечаний: 0% ±

Excel 2010
Именно по экрану без API никак, да. Но я бы, честное слово, поленился ради удовольствия видеть форму во весь экран :)


Проверь всё. ThisWorkbook.Save. On Error Resume Next.
 
Ответить
СообщениеИменно по экрану без API никак, да. Но я бы, честное слово, поленился ради удовольствия видеть форму во весь экран :)

Автор - StoTisteg
Дата добавления - 20.03.2016 в 20:45
Udik Дата: Воскресенье, 20.03.2016, 20:47 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1202
Репутация: 152 ±
Замечаний: 0% ±

Excel 2013
Для апишек надо ещё с битностью не пролететь :) . Пишут что размерчик экрана можно через WMI получать, но я с этим не знаком.


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com


Сообщение отредактировал Udik - Воскресенье, 20.03.2016, 20:52
 
Ответить
СообщениеДля апишек надо ещё с битностью не пролететь :) . Пишут что размерчик экрана можно через WMI получать, но я с этим не знаком.

Автор - Udik
Дата добавления - 20.03.2016 в 20:47
al-Ex Дата: Воскресенье, 20.03.2016, 22:31 | Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 146
Репутация: 53 ±
Замечаний: 20% ±

Excel 2010
Пишут что размерчик экрана можно через WMI получать
Действительно, да, вот, пример подходящий :
[offtop]всё выдергивает,
еще-бы "ключик от сейфа"...


Сообщение отредактировал al-Ex - Воскресенье, 20.03.2016, 22:48
 
Ответить
Сообщение
Пишут что размерчик экрана можно через WMI получать
Действительно, да, вот, пример подходящий :
[offtop]всё выдергивает,
еще-бы "ключик от сейфа"...

Автор - al-Ex
Дата добавления - 20.03.2016 в 22:31
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Изменение формы VBA UserForm (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!