С Новым годом! Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/89: Рейтинг темы: голосов - 89, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 22.12.2011
Сообщений: 27
1

Можно ли в VBA сделать меняющую размеры форму?

22.12.2011, 14:55. Показов 16007. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В VB у Form есть свойство BorderStyle, которому можно присвоить значение Sizebale, а в VBA такому же свойству объекта UserForm можно присвоить только BorderStyleNone или BorderStyleSignle.

Кроме этого, хотелось бы сделать окно без заголовка. Возможно ли?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.12.2011, 14:55
Ответы с готовыми решениями:

Как сделать динамическую таблицу меняющую размеры?
Как сделать динамическую таблицу меняющую размеры?

Креатором сделать меняющую размер форму
Qt 4.7. Хочу чтобы при растягивании формы меняли размер и компоненты: graphicsView и кнопка. Из...

Как сделать форму меняющую цвет
Кто подскажет как сделать чтобы форма меняла цвет при заполнение данных? При открытии формы цвет...

Возможно ли сделать календарь используя html-форму (соблюдая размеры, высоту таблицы и т.д.)
kidASM, а возможно ли сделать календарь используя html-форму (соблюдая размеры, высоту таблицы и...

19
2 / 2 / 1
Регистрация: 10.04.2011
Сообщений: 415
22.12.2011, 15:04 2
размеры формы меняются установкой требуемой ширины и высоты.
0
0 / 0 / 0
Регистрация: 22.12.2011
Сообщений: 27
22.12.2011, 16:44  [ТС] 3
Нужно чтобы пользователь мог менять размеры окна.
0
2 / 2 / 1
Регистрация: 10.04.2011
Сообщений: 415
22.12.2011, 17:11 4
Драг-дропом? Боюсь, не прокатит. А где ты видел диалоговое окно с такими возможностями - там же элементы управления. Как вариант - сделай 4 кнопочки примерно так: http://www.mfco.ru/resform.zip
PS не получается "Прикрепить файл" - говорит "Только txt, zip, rar, gif, jpg или png", хотя давал ему и rar, и zip (
0
0 / 0 / 0
Регистрация: 22.12.2011
Сообщений: 27
22.12.2011, 17:32  [ТС] 5
> А где ты видел диалоговое окно с такими возможностями
Например, в VB6.
> сделай 4 кнопочки
есть у меня такой вариант, но им пользоваться непривычно и неудобно.
Я думаю, можно как-то через API. К тому же мне нужно сворачивать окно до размера одной строки и без заголовка.
Это можно сделать на VB, но с ним другая беда: обработка объектов выполняется значительно медленнее, чем в VBA (СorelDraw).
0
90 / 37 / 14
Регистрация: 03.11.2010
Сообщений: 429
22.12.2011, 19:58 6
Драг-дропом?-Можно сделать имитацию:
Вставляю Label и использую события MouseDown,MouseMove,MouseUp.
Правда при движении мыши граница окна не изменяется, только при MouseUp.
0
2 / 2 / 0
Регистрация: 23.04.2011
Сообщений: 159
27.12.2011, 14:42 7
Через API:
0
2 / 2 / 1
Регистрация: 10.04.2011
Сообщений: 415
27.12.2011, 15:42 8
Как ты файл прикрепляешь, поделись?
0
2 / 2 / 0
Регистрация: 23.04.2011
Сообщений: 159
27.12.2011, 16:37 9
Шутите или в серьезно?
0
2 / 2 / 0
Регистрация: 23.04.2011
Сообщений: 159
27.12.2011, 16:42 10
Sorry, в предыдущем ответе “В” опустить
0
0 / 0 / 0
Регистрация: 22.12.2011
Сообщений: 27
27.12.2011, 17:05  [ТС] 11
Цитата Сообщение от Avtopic
Через API:
Отлично! Именно то, что нужно. Просто я мало с API имел дело и сам не нашел бы нужных функций. Спасибо огромное!
0
2 / 2 / 1
Регистрация: 10.04.2011
Сообщений: 415
27.12.2011, 17:28 12
Цитата Сообщение от Avtopic
Шутите или серьезно?
Конечно серьезно - нафига мне класть файлы на свой сервер, а потом ссылку давать? А указание на файл на локальном диске дает ошибку "только txt, zip, rar, gif, jpg, png", хотя ему даю rar-архив
0
2 / 2 / 0
Регистрация: 23.04.2011
Сообщений: 159
27.12.2011, 18:31 13
To Johny Walker:

После известных изменении на форуме, когда я нажимаю на “Ответить” прямо попадаю в редактор новых сообщении, где наверху находится “Прикрепить файл”.
Может, Вы работаете в старой версии форума.
Если Вы работаете в новом формате, то у вас должен бить такой адрес этой страницы:
http://www.relib.com/forums/thread882668.aspx
и такой адрес редактора новых сообщении при клике на “Ответить”:
http://www.relib.com/forums/post.aspx?id=882668
где и видно возможность прикрепить файл.
Если у вас видеться этот адрес, а “Прикрепить файл” нет, тогда я не знаю, почему у меня такие привилегии.
0
Alex77
28.12.2011, 10:39 14
Цитата Сообщение от Alexxander
Нужно чтобы пользователь мог менять размеры окна.
А может вот так подойдёт:
Visual Basic
1
2
3
4
5
6
7
8
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
 
If Button = 1 Then
UserForm1.Height = Y
UserForm1.Width = X
End If
 
End Sub
При нажатии над формой (в данном случае левой, для правой "If Button = 2"), и удерживая кнопку двигать мышу - меняется размер формы. Безо всяких АПИ
0 / 0 / 0
Регистрация: 22.12.2011
Сообщений: 27
29.12.2011, 12:47  [ТС] 15
Цитата Сообщение от Alex77
А может вот так подойдёт:
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Спасибо за идею! Только это я использую для изменения позиции окна. А изменяемые размеры и прочие своства лучше через API.
0
Alex77
03.01.2012, 08:26 16
Цитата Сообщение от Avtopic
Через API:
Третий раз скачиваю, пробую.
Запускаю проект, жму на все кнопки.
срабатывает только одна - выход.
А так меняется только цифра в текстбоксе.
Что такое [italic][bold]lStyle[/bold] [/italic]
И что должно было произойти с размерами формы.
Я всё таки меняю с помощью Private Sub UserForm_MouseMove
0 / 0 / 0
Регистрация: 22.12.2011
Сообщений: 27
03.01.2012, 13:06  [ТС] 17
Цитата Сообщение от Alex77
Цитата Сообщение от Avtopic
Через API:
Третий раз скачиваю, пробую.
Запускаю проект, жму на все кнопки.
Смотри аттач.
0
Alex77
03.01.2012, 15:26 18
Цитата Сообщение от Alexxander
Цитата Сообщение от Alex77
Цитата Сообщение от Avtopic
Через API:
Третий раз скачиваю, пробую.
Запускаю проект, жму на все кнопки.
Смотри аттач.
Собственно хоть скажите, что должно было происходить.
Форма таскоется за любое место.
И всё.
Ставлю галки, снимаю - ровным счётом ничего не происходит.
Должны же были изменяться размеры формы (так стоял вопрос).
0 / 0 / 0
Регистрация: 22.12.2011
Сообщений: 27
03.01.2012, 15:49  [ТС] 19
Если отмечено WS_THICKFRAME, окно будет менять размеры, как обычно в Windows (перетаскиванием за рамку).
Остальные аттрибуты (не по порядку): Окно имеет заголовок, системное меню, полосы прокрутки и пр. Описание на листе Excel (взято из MSDN).
Для того чтобы окно могло менять размеры надо это указать в его атрибутах. По умолчанию в VBA оно не может менять размеры и внутри VBA нет спсобов сделать это. Поэтому используем API. Подробности в коде программы.
0
Alex77
04.01.2012, 21:53 20
Спасибо, разобрался.
Никто же не подсказал, что в 97 офисе это не катит.
Для проверки предположения поставил ОкнаХР и ОфисХР.
Проверил, пашет.
А потом уже на 98 Окна поставил ОфисХР и тоже работает.
04.01.2012, 21:53
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.01.2012, 21:53
Помогаю со студенческими работами здесь

Как сделать прозрачную форму на vba?
возможно сделать форму vba прозрачным? в инете на такого не нашёл ответа

Можно ли сделать так, что сквозь форму можно было бы тыкать мышью по файлам?
Можно ли сделать так, что сквозь форму можно было бы тыкать мышью по файлам? Т.е. например, как в...

Как с помощью VBA сделать форму поиска?
Помогите пожалуйста, как с помощью VBA сделать форму поиска.Т.е. у нас есть таблица с несколькими...

Как можно в форму VBA вставить MSFlexGrid? какие у него есть свойства и методы?
Можно ли в форму VBA в Excel вставить MSFlexGrid? Какие свойства и методы можно применять к нему?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Как проводить научные вычисления на Python
InfoMaster 15.01.2025
Python стал одним из наиболее востребованных языков программирования в области научных вычислений благодаря своей простоте, гибкости и обширной экосистеме специализированных библиотек. Научные. . .
Создание игры типа Minecraft на PyGame/Python: пошаговое руководство
InfoMaster 15.01.2025
В данном руководстве мы рассмотрим процесс создания игры в стиле Minecraft с использованием библиотеки PyGame на языке программирования Python. Этот проект идеально подходит как для начинающих. . .
Как создать свою первую игру в стиле Doom на Unreal Engine
InfoMaster 15.01.2025
Разработка шутера от первого лица в стиле классического Doom представляет собой увлекательное путешествие в мир игрового программирования, где сочетаются творческий подход и технические навыки. . . .
Параллельное программировани­е: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
Как написать микросервис на Go/Golang с Kafka, REST и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS, Swagger и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru