Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 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
Блин..... ну нафлудил...... А почему свои сообщешия удалять нельзя?

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам