Клонировать форму с сохранением функционала
pechkin
Дата: Вторник, 02.10.2018, 11:01 |
Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 332
Репутация:
49
±
Замечаний:
0% ±
2003
Здравствуйте! Подскажите пожалуйста, возможно ли реализовать следующую идею В файле открывается форма с объектами (кнопки,текстбоксы,комбобоксы и т.д.),которые работают с данными с листов файла. Возможно ли по нажатию кнопки эту форму клонировать с сохранением функционала, типа окон в Windows? Спасибо!
Здравствуйте! Подскажите пожалуйста, возможно ли реализовать следующую идею В файле открывается форма с объектами (кнопки,текстбоксы,комбобоксы и т.д.),которые работают с данными с листов файла. Возможно ли по нажатию кнопки эту форму клонировать с сохранением функционала, типа окон в Windows? Спасибо! pechkin
Ответить
Сообщение Здравствуйте! Подскажите пожалуйста, возможно ли реализовать следующую идею В файле открывается форма с объектами (кнопки,текстбоксы,комбобоксы и т.д.),которые работают с данными с листов файла. Возможно ли по нажатию кнопки эту форму клонировать с сохранением функционала, типа окон в Windows? Спасибо! Автор - pechkin Дата добавления - 02.10.2018 в 11:01
Michael_S
Дата: Вторник, 02.10.2018, 11:32 |
Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация:
373
±
Замечаний:
0% ±
Excel2016
Можно, просто перетащите ее в проект другого файла. Если нужно в том же файле, то переименуйте и перетащите обратно.
Можно, просто перетащите ее в проект другого файла. Если нужно в том же файле, то переименуйте и перетащите обратно. Michael_S
Ответить
Сообщение Можно, просто перетащите ее в проект другого файла. Если нужно в том же файле, то переименуйте и перетащите обратно. Автор - Michael_S Дата добавления - 02.10.2018 в 11:32
_Boroda_
Дата: Вторник, 02.10.2018, 12:13 |
Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация:
6505
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
по нажатию кнопки эту форму клонировать
Такой вариант [vba]Код
Sub Copy_VBA() Dim Proj As Object, Comp As Object n0_ = "UserForm1" n1_ = "UserForm2" Set Proj = ThisWorkbook.VBProject Set Comp = Proj.VBComponents(n0_) Comp.Name = n1_ fn_ = ThisWorkbook.Path & "\" & n1_ & ".bas" fn1_ = ThisWorkbook.Path & "\" & n1_ & ".frx" Comp.Export Filename:=fn_ Comp.Name = n0_ Proj.VBComponents.Import Filename:=fn_ Kill fn_ Kill fn1_ End Sub
[/vba]
по нажатию кнопки эту форму клонировать
Такой вариант [vba]Код
Sub Copy_VBA() Dim Proj As Object, Comp As Object n0_ = "UserForm1" n1_ = "UserForm2" Set Proj = ThisWorkbook.VBProject Set Comp = Proj.VBComponents(n0_) Comp.Name = n1_ fn_ = ThisWorkbook.Path & "\" & n1_ & ".bas" fn1_ = ThisWorkbook.Path & "\" & n1_ & ".frx" Comp.Export Filename:=fn_ Comp.Name = n0_ Proj.VBComponents.Import Filename:=fn_ Kill fn_ Kill fn1_ End Sub
[/vba]_Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение по нажатию кнопки эту форму клонировать
Такой вариант [vba]Код
Sub Copy_VBA() Dim Proj As Object, Comp As Object n0_ = "UserForm1" n1_ = "UserForm2" Set Proj = ThisWorkbook.VBProject Set Comp = Proj.VBComponents(n0_) Comp.Name = n1_ fn_ = ThisWorkbook.Path & "\" & n1_ & ".bas" fn1_ = ThisWorkbook.Path & "\" & n1_ & ".frx" Comp.Export Filename:=fn_ Comp.Name = n0_ Proj.VBComponents.Import Filename:=fn_ Kill fn_ Kill fn1_ End Sub
[/vba]Автор - _Boroda_ Дата добавления - 02.10.2018 в 12:13
boa
Дата: Вторник, 02.10.2018, 12:37 |
Сообщение № 4
Группа: Друзья
Ранг: Ветеран
Сообщений: 559
Репутация:
167
±
Замечаний:
0% ±
365
pechkin, можно одну и туже форму вызывать под разные нужды
pechkin, можно одну и туже форму вызывать под разные нужды boa
Ответить
Сообщение pechkin, можно одну и туже форму вызывать под разные нужды Автор - boa Дата добавления - 02.10.2018 в 12:37
pechkin
Дата: Вторник, 02.10.2018, 12:59 |
Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 332
Репутация:
49
±
Замечаний:
0% ±
2003
Спасибо за ответы! Прилагаю примеры. В одном как хотелось бы, но там я создал в проекте уже заранее готовые формы. Можно ли имея только одну форму заготовку открыть ее несколько раз (клонировать)? Второй пример Макрос от Boroda , но у меня не работает...
Спасибо за ответы! Прилагаю примеры. В одном как хотелось бы, но там я создал в проекте уже заранее готовые формы. Можно ли имея только одну форму заготовку открыть ее несколько раз (клонировать)? Второй пример Макрос от Boroda , но у меня не работает... pechkin
Ответить
Сообщение Спасибо за ответы! Прилагаю примеры. В одном как хотелось бы, но там я создал в проекте уже заранее готовые формы. Можно ли имея только одну форму заготовку открыть ее несколько раз (клонировать)? Второй пример Макрос от Boroda , но у меня не работает... Автор - pechkin Дата добавления - 02.10.2018 в 12:59
_Boroda_
Дата: Вторник, 02.10.2018, 13:14 |
Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация:
6505
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Макрос от Boroda , но у меня не работает...
Ничего подобного, все у Вас работает. У Вас создается форма 2. Один раз. Второй раз нужно создавать форму 3 Хотите форм-кроликов? тогда так [vba]Код
Sub Copy_VBA() Dim Proj As Object, Comp As Object n0_ = "UserForm1" n1_ = "UserForm_" & Format(Now, "YY_MM_DD__hh_mm_ss") Set Proj = ThisWorkbook.VBProject Set Comp = Proj.VBComponents(n0_) On Error Resume Next Comp.Name = n1_ If Err Then Exit Sub On Error GoTo 0 fn_ = ThisWorkbook.Path & "\" & n1_ & ".bas" fn1_ = ThisWorkbook.Path & "\" & n1_ & ".frx" Comp.Export Filename:=fn_ Comp.Name = n0_ Proj.VBComponents.Import Filename:=fn_ Kill fn_ Kill fn1_ End Sub
[/vba]
Макрос от Boroda , но у меня не работает...
Ничего подобного, все у Вас работает. У Вас создается форма 2. Один раз. Второй раз нужно создавать форму 3 Хотите форм-кроликов? тогда так [vba]Код
Sub Copy_VBA() Dim Proj As Object, Comp As Object n0_ = "UserForm1" n1_ = "UserForm_" & Format(Now, "YY_MM_DD__hh_mm_ss") Set Proj = ThisWorkbook.VBProject Set Comp = Proj.VBComponents(n0_) On Error Resume Next Comp.Name = n1_ If Err Then Exit Sub On Error GoTo 0 fn_ = ThisWorkbook.Path & "\" & n1_ & ".bas" fn1_ = ThisWorkbook.Path & "\" & n1_ & ".frx" Comp.Export Filename:=fn_ Comp.Name = n0_ Proj.VBComponents.Import Filename:=fn_ Kill fn_ Kill fn1_ End Sub
[/vba]_Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Макрос от Boroda , но у меня не работает...
Ничего подобного, все у Вас работает. У Вас создается форма 2. Один раз. Второй раз нужно создавать форму 3 Хотите форм-кроликов? тогда так [vba]Код
Sub Copy_VBA() Dim Proj As Object, Comp As Object n0_ = "UserForm1" n1_ = "UserForm_" & Format(Now, "YY_MM_DD__hh_mm_ss") Set Proj = ThisWorkbook.VBProject Set Comp = Proj.VBComponents(n0_) On Error Resume Next Comp.Name = n1_ If Err Then Exit Sub On Error GoTo 0 fn_ = ThisWorkbook.Path & "\" & n1_ & ".bas" fn1_ = ThisWorkbook.Path & "\" & n1_ & ".frx" Comp.Export Filename:=fn_ Comp.Name = n0_ Proj.VBComponents.Import Filename:=fn_ Kill fn_ Kill fn1_ End Sub
[/vba]Автор - _Boroda_ Дата добавления - 02.10.2018 в 13:14
pechkin
Дата: Вторник, 02.10.2018, 13:21 |
Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 332
Репутация:
49
±
Замечаний:
0% ±
2003
Увы...
Ответить
Сообщение Увы... Автор - pechkin Дата добавления - 02.10.2018 в 13:21
_Boroda_
Дата: Вторник, 02.10.2018, 13:51 |
Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация:
6505
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Файл - Параметры - Центр управления безопасностью (ЦУБ)- кнопка Параметры ЦУБ - Параметры макросов - стоит ли галка Предоставлять доступ к объектной модели VBA? Если нет, то поставьте
Файл - Параметры - Центр управления безопасностью (ЦУБ)- кнопка Параметры ЦУБ - Параметры макросов - стоит ли галка Предоставлять доступ к объектной модели VBA? Если нет, то поставьте _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Файл - Параметры - Центр управления безопасностью (ЦУБ)- кнопка Параметры ЦУБ - Параметры макросов - стоит ли галка Предоставлять доступ к объектной модели VBA? Если нет, то поставьте Автор - _Boroda_ Дата добавления - 02.10.2018 в 13:51
pechkin
Дата: Вторник, 02.10.2018, 14:14 |
Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 332
Репутация:
49
±
Замечаний:
0% ±
2003
Спасибо за терпение! Все равно ПОРЧА какая-то Перегружать пробовал и этот файл на 2007 пробовал - не хочет
Спасибо за терпение! Все равно ПОРЧА какая-то Перегружать пробовал и этот файл на 2007 пробовал - не хочет pechkin
Ответить
Сообщение Спасибо за терпение! Все равно ПОРЧА какая-то Перегружать пробовал и этот файл на 2007 пробовал - не хочет Автор - pechkin Дата добавления - 02.10.2018 в 14:14
_Boroda_
Дата: Вторник, 02.10.2018, 14:18 |
Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация:
6505
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
А, так у Вас 2003, я забыл. Дома посморю, там у меня 2000, 2003, 2007, 2010 и 2013
А, так у Вас 2003, я забыл. Дома посморю, там у меня 2000, 2003, 2007, 2010 и 2013 _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение А, так у Вас 2003, я забыл. Дома посморю, там у меня 2000, 2003, 2007, 2010 и 2013 Автор - _Boroda_ Дата добавления - 02.10.2018 в 14:18
RAN
Дата: Вторник, 02.10.2018, 14:21 |
Сообщение № 11
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Саш, у меня макрос в файле 3086002.xls тоже не работает.
Саш, у меня макрос в файле 3086002.xls тоже не работает. RAN
Быть или не быть, вот в чем загвоздка!
Ответить
Сообщение Саш, у меня макрос в файле 3086002.xls тоже не работает. Автор - RAN Дата добавления - 02.10.2018 в 14:21
_Boroda_
Дата: Вторник, 02.10.2018, 14:33 |
Сообщение № 12
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация:
6505
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Ну не знаю, у меня все нормально размножается
Ну не знаю, у меня все нормально размножается _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Ну не знаю, у меня все нормально размножается Автор - _Boroda_ Дата добавления - 02.10.2018 в 14:33
boa
Дата: Вторник, 02.10.2018, 14:54 |
Сообщение № 13
Группа: Друзья
Ранг: Ветеран
Сообщений: 559
Репутация:
167
±
Замечаний:
0% ±
365
pechkin, [vba]Код
Sub SDF() With New UserForm1 .Label1 = "Первая форма" .Show End With With New UserForm1 .Label1 = "Вторая форма" .Show End With With New UserForm1 .Label1 = "Третья форма" .Show End With End Sub
[/vba] и не надо ничего размножать
pechkin, [vba]Код
Sub SDF() With New UserForm1 .Label1 = "Первая форма" .Show End With With New UserForm1 .Label1 = "Вторая форма" .Show End With With New UserForm1 .Label1 = "Третья форма" .Show End With End Sub
[/vba] и не надо ничего размножать boa
Сообщение отредактировал boa - Вторник, 02.10.2018, 14:54
Ответить
Сообщение pechkin, [vba]Код
Sub SDF() With New UserForm1 .Label1 = "Первая форма" .Show End With With New UserForm1 .Label1 = "Вторая форма" .Show End With With New UserForm1 .Label1 = "Третья форма" .Show End With End Sub
[/vba] и не надо ничего размножать Автор - boa Дата добавления - 02.10.2018 в 14:54
pechkin
Дата: Вторник, 02.10.2018, 15:31 |
Сообщение № 14
Группа: Проверенные
Ранг: Обитатель
Сообщений: 332
Репутация:
49
±
Замечаний:
0% ±
2003
Спасибо boa! Пока ничего не понял, но понравилось! Интересно-буду пробовать А можно их раздвинуть относительно друг друга?
Спасибо boa! Пока ничего не понял, но понравилось! Интересно-буду пробовать А можно их раздвинуть относительно друг друга? pechkin
Сообщение отредактировал pechkin - Вторник, 02.10.2018, 15:37
Ответить
Сообщение Спасибо boa! Пока ничего не понял, но понравилось! Интересно-буду пробовать А можно их раздвинуть относительно друг друга? Автор - pechkin Дата добавления - 02.10.2018 в 15:31
boa
Дата: Вторник, 02.10.2018, 16:23 |
Сообщение № 15
Группа: Друзья
Ранг: Ветеран
Сообщений: 559
Репутация:
167
±
Замечаний:
0% ±
365
pechkin, любые действия доступные для форм [vba]Код
Sub SDF() With New UserForm1 .Label1 = "Первая форма" .Left = 150 .Top = 100 .Show End With With New UserForm1 .Label1 = "Вторая форма" .Left = 150 / 2 + .Width .Top = 100 / 2 + .Height .Show End With With New UserForm1 .Label1 = "Третья форма" .Left = .Width * 2 .Top = .Height * 2 .Show End With End Sub
[/vba] З.Ы. Забыл упомянуть форма не должна быть модальной и StartUpPosition = 0 - manual
pechkin, любые действия доступные для форм [vba]Код
Sub SDF() With New UserForm1 .Label1 = "Первая форма" .Left = 150 .Top = 100 .Show End With With New UserForm1 .Label1 = "Вторая форма" .Left = 150 / 2 + .Width .Top = 100 / 2 + .Height .Show End With With New UserForm1 .Label1 = "Третья форма" .Left = .Width * 2 .Top = .Height * 2 .Show End With End Sub
[/vba] З.Ы. Забыл упомянуть форма не должна быть модальной и StartUpPosition = 0 - manual boa
Сообщение отредактировал boa - Вторник, 02.10.2018, 16:29
Ответить
Сообщение pechkin, любые действия доступные для форм [vba]Код
Sub SDF() With New UserForm1 .Label1 = "Первая форма" .Left = 150 .Top = 100 .Show End With With New UserForm1 .Label1 = "Вторая форма" .Left = 150 / 2 + .Width .Top = 100 / 2 + .Height .Show End With With New UserForm1 .Label1 = "Третья форма" .Left = .Width * 2 .Top = .Height * 2 .Show End With End Sub
[/vba] З.Ы. Забыл упомянуть форма не должна быть модальной и StartUpPosition = 0 - manual Автор - boa Дата добавления - 02.10.2018 в 16:23
_Boroda_
Дата: Вторник, 02.10.2018, 16:32 |
Сообщение № 16
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация:
6505
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
А, так Вы вот о чем! А я Вам реально формы клонирую
А, так Вы вот о чем! А я Вам реально формы клонирую _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение А, так Вы вот о чем! А я Вам реально формы клонирую Автор - _Boroda_ Дата добавления - 02.10.2018 в 16:32
RAN
Дата: Вторник, 02.10.2018, 19:09 |
Сообщение № 17
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Разобрался. Из TMP косячит. Нужно было файл на диск сохранить.
Разобрался. Из TMP косячит. Нужно было файл на диск сохранить. RAN
Быть или не быть, вот в чем загвоздка!
Ответить
Сообщение Разобрался. Из TMP косячит. Нужно было файл на диск сохранить. Автор - RAN Дата добавления - 02.10.2018 в 19:09