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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2012, 18:49   #1
RISagitov
Форумчанин
 
Регистрация: 19.05.2012
Сообщений: 237
По умолчанию Как мне из формы, генерить другие формы, нажимая на кнопку?

Например, на форме две кнопки "новая форма" и "закрыть"

нажимая на "новая форма" создается и активизируется другая форма
попасть в исходную форму нельзя, пока не закроешь нажав на кнопку "Закрыть"
RISagitov вне форума Ответить с цитированием
Старый 20.05.2012, 20:37   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код для кнопки «новая форма»:
Код:
Private Sub CommandButton1_Click()
    Set F = New UserForm1 ' где UserForm1 - имя вашей формы
    F.Show
End Sub
Новая форма по-умолчанию откроется прямо поверх создавшей её формы,
так что, чтобы увидеть обе формы, новую придётся немного сдвинуть
EducatedFool вне форума Ответить с цитированием
Старый 20.05.2012, 21:18   #3
RISagitov
Форумчанин
 
Регистрация: 19.05.2012
Сообщений: 237
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Код для кнопки «новая форма»:
Код:
Private Sub CommandButton1_Click()
    Set F = New UserForm1 ' где UserForm1 - имя вашей формы
    F.Show
End Sub
Новая форма по-умолчанию откроется прямо поверх создавшей её формы,
так что, чтобы увидеть обе формы, новую придётся немного сдвинуть
да, верно, почти то что нужно
решение этой задачи мне представлялась по другому

новую форму обязательно изначально рисовать?

нельзя генерить по шаблону?

вообще можно обойтись без редактора форм?
чтоб формы делать программно, расписывая по свойствам
RISagitov вне форума Ответить с цитированием
Старый 20.05.2012, 22:54   #4
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Можно. Например, создайте пустую форму с именем UserForm1, и программно создавайте на ней элементы управления:
Код:
Sub CommandButton1_Click()
With New UserForm1
    With .Controls.Add("Forms.Label.1") 'добавить надпись
        .Left = 5
        .Top = 5
        .Width = 80
        .Caption = "Введите текст"
    End With
    With .Controls.Add("Forms.Textbox.1") 'добавить поле
        .Left = 85
        .Top = 5
        .Width = 110
        .Value = "(текст по умолчанию)"
    End With
    .Show
End With
End Sub
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 20.05.2012, 23:20   #5
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

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

Вы, судя по всему,не ищете легких путей.
И правильно - если хочется колбасы, зачем идти в магазин её покупать, когда можно построить свой колбасный завод, и выпускать по одной палке в день, чисто для своих нужд...
EducatedFool вне форума Ответить с цитированием
Старый 21.05.2012, 00:57   #6
RISagitov
Форумчанин
 
Регистрация: 19.05.2012
Сообщений: 237
По умолчанию

Цитата:
Сообщение от Казанский Посмотреть сообщение
Можно. Например, создайте пустую форму с именем UserForm1, и программно создавайте на ней элементы управления:
Код:
Sub CommandButton1_Click()
With New UserForm1
    With .Controls.Add("Forms.Label.1") 'добавить надпись
        .Left = 5
        .Top = 5
        .Width = 80
        .Caption = "Введите текст"
    End With
    With .Controls.Add("Forms.Textbox.1") 'добавить поле
        .Left = 85
        .Top = 5
        .Width = 110
        .Value = "(текст по умолчанию)"
    End With
    .Show
End With
End Sub
спасибо Вам

>>>>"Вы, судя по всему,не ищете легких путей."
нет, я изучаю vba
разбираю готовые примеры, а возникающие вопросы утрясаю тут на форуме
RISagitov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать кнопку любой формы -=Prorok=- C# (си шарп) 4 24.08.2011 14:53
Передача кода с формы на другие формы Serg-Grin Общие вопросы Delphi 2 13.05.2010 17:05
ввод текста из одной формы в другие andrey0701 Microsoft Office Word 15 26.10.2009 10:53
Как мне из формы одного проекта запустить другой Diimka Помощь студентам 2 13.12.2007 21:41