Страница: 1 | 
		
		 
			   
			 
			 
			 
			 Страница: 1 | 
 
			
 
  
		
     
  
    
Вопрос: Глюк  Excel'я
     
    
Добавлено: 05.07.07 15:46
     
      
  
				
			  
					 
			
				 
    
		
       
    
Автор вопроса:  
     graff0man | ICQ: 391699023
 graff0man | ICQ: 391699023 
      
       
  
Вообщем тема такая..... я задаю глобальную переменную (любую) присваиваю ей какое-то значение и програмно добавляю кнопку..... для этой кнопки есть заранее заготовленный код за который она цепляется.... вроде бы живи и радуйся, но при нажатии добавленной кнопки возникает эксепшн что глобальная переменная = Nothing и работать дальше код не может.... как сделать так чтобы после добавления кнопки глобальные переменные не слетали? 
 
    
помогите кто чем может :о))))....
				
		
		
					 
			
				 
  
		
     
  
    
Ответы
     
    
Всего ответов: 12
     
      
  
		
	  
			 
	
		 
    
       
    
Номер ответа: 1 
      
Автор ответа: EUGY
 EUGY





Вопросов: 0
Ответов: 454
      
 Профиль |  | #1
       
Добавлено:  05.07.07 16:01
       
    
       
  
Если бы graff0man предоставил код, то, наверное, можно было бы ткнуть пальцем в ошибку.
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 2 
      
Автор ответа: graff0man
 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
 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
 graff0man


ICQ: 391699023 
Вопросов: 5
Ответов: 14
      
 Профиль |  | #4
       
Добавлено:  05.07.07 18:37
       
    
       
  
Спасибо..... Все работает..... А тогда еще один вопросик.... А как мне теперь програмно очищать форму от таких кнопок...
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 5 
      
Автор ответа: EUGY
 EUGY





Вопросов: 0
Ответов: 454
      
 Профиль |  | #5
       
Добавлено:  05.07.07 18:44
       
    
       
  
все кнопки -  Buttons.Delete
 
    
конкретную -  cb2.Delete
		
	  
			 
	
		 
    
       
    
Номер ответа: 6 
      
Автор ответа: Viktor
 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
 graff0man


ICQ: 391699023 
Вопросов: 5
Ответов: 14
      
 Профиль |  | #7
       
Добавлено:  06.07.07 14:41
       
    
       
  
Всем спасибо большое..... пошел дальше над прогой издеваться :о))))
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 8 
      
Автор ответа: Vasiliy
 Vasiliy


Вопросов: 9
Ответов: 18
      
 Профиль |  | #8
       
Добавлено:  30.07.07 10:26
       
    
       
  
многомер
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 9 
      
Автор ответа: graff0man
 graff0man


ICQ: 391699023 
Вопросов: 5
Ответов: 14
      
 Профиль |  | #9
       
Добавлено:  30.07.07 13:28
       
    
       
  
Если честно то я не понял, что ты хотел этим сказать..... поясни плз......
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 10 
      
Автор ответа: graff0man
 graff0man


ICQ: 391699023 
Вопросов: 5
Ответов: 14
      
 Профиль |  | #10
       
Добавлено:  30.07.07 13:28
       
    
       
  
Если честно то я не понял, что ты хотел этим сказать..... поясни плз......
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 11 
      
Автор ответа: graff0man
 graff0man


ICQ: 391699023 
Вопросов: 5
Ответов: 14
      
 Профиль |  | #11
       
Добавлено:  30.07.07 13:28
       
    
       
  
Если честно то я не понял, что ты хотел этим сказать..... поясни плз......
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 12 
      
Автор ответа: graff0man
 graff0man


ICQ: 391699023 
Вопросов: 5
Ответов: 14
      
 Профиль |  | #12
       
Добавлено:  30.07.07 13:31
       
    
       
  
Блин..... ну нафлудил...... А почему свои сообщешия удалять нельзя?