Страница: 1 |
Страница: 1 |
Вопрос: Глюк Excel'я
Добавлено: 05.07.07 15:46
Автор вопроса: graff0man | ICQ: 391699023
Вообщем тема такая..... я задаю глобальную переменную (любую) присваиваю ей какое-то значение и програмно добавляю кнопку..... для этой кнопки есть заранее заготовленный код за который она цепляется.... вроде бы живи и радуйся, но при нажатии добавленной кнопки возникает эксепшн что глобальная переменная = Nothing и работать дальше код не может.... как сделать так чтобы после добавления кнопки глобальные переменные не слетали?
помогите кто чем может :о))))....
Ответы
Всего ответов: 12
Номер ответа: 1
Автор ответа:
EUGY
Вопросов: 0
Ответов: 454
Профиль | | #1
Добавлено: 05.07.07 16:01
Если бы graff0man предоставил код, то, наверное, можно было бы ткнуть пальцем в ошибку.
Номер ответа: 2
Автор ответа:
graff0man
ICQ: 391699023
Вопросов: 5
Ответов: 14
Профиль | | #2
Добавлено: 05.07.07 16:24
Public xyz as String
Private Sub CommandButton1_Click()
xyz = 123
Worksheets(1).OLEObjects.Add ClassType:="Forms.CommandButton.1", _
Link:=False, DisplayAsIcon:=False, Left:=40, Top:=40, _
Width:=150, Height:=10
End Sub
Private Sub CommandButton2_Click()
If xyz = vbNothing Then
MsgBox ("xyz = Nothing"
Exit Sub
End If
....... далее следует код программы
End Sub
вот максимально упрошенный пример.......
Номер ответа: 3
Автор ответа:
EUGY
Вопросов: 0
Ответов: 454
Профиль | | #3
Добавлено: 05.07.07 18:07
Согласен, глюк есть.
Решение:
Dim cb2 As Button
Set cb2 = Buttons.Add(200, 10, 100, 20)
With cb2
.Characters.Text = "Это кнопка"
.OnAction = "Лист1.SuperPuper_Click"
End With
Номер ответа: 4
Автор ответа:
graff0man
ICQ: 391699023
Вопросов: 5
Ответов: 14
Профиль | | #4
Добавлено: 05.07.07 18:37
Спасибо..... Все работает..... А тогда еще один вопросик.... А как мне теперь програмно очищать форму от таких кнопок...
Номер ответа: 5
Автор ответа:
EUGY
Вопросов: 0
Ответов: 454
Профиль | | #5
Добавлено: 05.07.07 18:44
все кнопки - Buttons.Delete
конкретную - cb2.Delete
Номер ответа: 6
Автор ответа:
Viktor
Вопросов: 9
Ответов: 29
Профиль | | #6
Добавлено: 06.07.07 10:45
Dim wSh As Worksheet
Dim sh As Shape
Set sh = wSh.Shapes("Button.Name"
sh.Delete
Set sh = Nothing
Если не знаеш имя кнопки, то можно ростым перебором For Each ... In Worksheet(...).Shapes
Номер ответа: 7
Автор ответа:
graff0man
ICQ: 391699023
Вопросов: 5
Ответов: 14
Профиль | | #7
Добавлено: 06.07.07 14:41
Всем спасибо большое..... пошел дальше над прогой издеваться :о))))
Номер ответа: 8
Автор ответа:
Vasiliy
Вопросов: 9
Ответов: 18
Профиль | | #8
Добавлено: 30.07.07 10:26
многомер
Номер ответа: 9
Автор ответа:
graff0man
ICQ: 391699023
Вопросов: 5
Ответов: 14
Профиль | | #9
Добавлено: 30.07.07 13:28
Если честно то я не понял, что ты хотел этим сказать..... поясни плз......
Номер ответа: 10
Автор ответа:
graff0man
ICQ: 391699023
Вопросов: 5
Ответов: 14
Профиль | | #10
Добавлено: 30.07.07 13:28
Если честно то я не понял, что ты хотел этим сказать..... поясни плз......
Номер ответа: 11
Автор ответа:
graff0man
ICQ: 391699023
Вопросов: 5
Ответов: 14
Профиль | | #11
Добавлено: 30.07.07 13:28
Если честно то я не понял, что ты хотел этим сказать..... поясни плз......
Номер ответа: 12
Автор ответа:
graff0man
ICQ: 391699023
Вопросов: 5
Ответов: 14
Профиль | | #12
Добавлено: 30.07.07 13:31
Блин..... ну нафлудил...... А почему свои сообщешия удалять нельзя?