Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: forma
anonim




Typ: Nie zarejestrowany
forma

Cześć!!!!
Czy można wpisać kod tak aby wykonał się po pokazaniu formy bez naciskania na niej?????

np:
sub SSSSS()
kod
....
Userform1.Show
kod
....
end Sub

Tak aby po pokazaniu formy wykonał się dalszy ciąg kodu.

01-12-2004 08:05
  
Piotr T




Typ: neutral
Postów: 176
Zarejestrowany: May 2004

Wpisz DoEvents i po sprawie - instrukcja ta pozwala na wykonanie zadań przez system operacyjny

Public OTWARTA as Boolean
Sub N()
OTWARTA=False
... kod
doevents
userform1.show
doevents
if OTWARTA then
kod.....
end if
End Sub

Możesz także w sekcji Initialize formy wstawić jakąś zmienną typu Boolean

Sub Userform_Initialize
OTWARTA=True
End sub


_____________________________________________
Visual Basic.NET - Mercedes dla programistów

01-12-2004 10:07
Pokaż profil Piotr T  Wyślij email do Piotr T   Odwiedź stronę Piotr T  
anonim




Typ: Nie zarejestrowany
---------------------------------

Dzięki za pomoc Piotrze ale niestety nic Mi nie działa, po instrukcji Userform1.show program czeka na  jakąkolwiek czynność na formie i przestaje wykonywać dalszy kod. Jeżeli zamknę formę to kod leci dalej, ale formy już niema na widoku i klops.

01-12-2004 10:56
  
Piotr T




Typ: neutral
Postów: 176
Zarejestrowany: May 2004

Sposób nr 1: forma otwarta jako niemodalna

Sub Przycisk1_Kliknięcie()
' pierwsza instrukcja
Cells(1, 1) = "forma zamknięta"
UserForm1.Show vbModeless
' druga instrukcja
Cells(2, 1) = "forma otwarta"
End Sub

Sposób nr 2: forma otwarta jako modalna


Sub Przycisk1_Kliknięcie()
Cells(1, 1) = "forma zamknięta"
UserForm1.Show
End Sub




' kod w sekcji inicjalizacyjnej formy
Private Sub UserForm_Initialize()
' dalsza część kodu
Cells(2, 1) = "forma otwarta"
End Sub




_____________________________________________
Visual Basic.NET - Mercedes dla programistów

01-12-2004 12:16
Pokaż profil Piotr T  Wyślij email do Piotr T   Odwiedź stronę Piotr T  
anonim




Typ: Nie zarejestrowany
>>>>>>>>> KICHA <<<<<<<<<<<<<<

Niestety właśnie wyczytałem w pomocy że forma jest zawsze modalna i trzeba na nią kliknąć aby ruszył dalszy kod.Mimo wszystko dzięki za wielkie chęci pomocy ale nic nie działa.Myślę że zapomniałeś już jaki ograniczony jest VBA względem NETa.
POZDRO

01-12-2004 13:39
  
Piotr T




Typ: neutral
Postów: 176
Zarejestrowany: May 2004

Kod który ci wcześniej napisałem był testowany po excelem 2000 i WIN XP Pro - i tu jest mozliwość wybierania typu vbModal lub vbModeless - i kod u mnie działa prawidłowo


_____________________________________________
Visual Basic.NET - Mercedes dla programistów

01-12-2004 13:43
Pokaż profil Piotr T  Wyślij email do Piotr T   Odwiedź stronę Piotr T  
anonim




Typ: Nie zarejestrowany
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

To wiele tłumaczy.
Ja z moim OF-97 i  win 98 nie mam czego szukać w VBA bo i tak nic mi niedziała................

01-12-2004 14:25
  
Piotr T




Typ: neutral
Postów: 176
Zarejestrowany: May 2004

No ale kod który chcesz żeby się wykonał nie musi być w jednej procedurze:

Sposób nr 2: forma otwarta jako modalna

' ta procedura znajduje się w module
Sub Przycisk1_Kliknięcie()
  Call PierwszaProcedura
  UserForm1.Show
End Sub

Sub PierwszaProcedura()
' kod
End Sub

Sub NastProcedura()
' dalszy kod
End Sub

' kod w sekcji inicjalizacyjnej formy
Private Sub UserForm_Initialize()
  DoEvents
  Call NastProcedura
End Sub


_____________________________________________
Visual Basic.NET - Mercedes dla programistów

01-12-2004 14:52
Pokaż profil Piotr T  Wyślij email do Piotr T   Odwiedź stronę Piotr T  
anonim




Typ: Nie zarejestrowany

Niestety ale sposób który podałeś nie działa.
Może źle zrozumiałeś moje pytanie ???
Kod ma się wykonać po pokazaniu formy gdy jest widoczna, a sekcja initialize wykonuje się przed jej pokazaniem. Mimo wszystko dzięki za poświęcony czas.
NARA

02-12-2004 08:00
  
Piotr T




Typ: neutral
Postów: 176
Zarejestrowany: May 2004

Jest jeszcze opcja Activate


_____________________________________________
Visual Basic.NET - Mercedes dla programistów

02-12-2004 08:14
Pokaż profil Piotr T  Wyślij email do Piotr T   Odwiedź stronę Piotr T  
anonim




Typ: Nie zarejestrowany

Trafiony !!!!!!!!!!!!
o to chodziło
WIELIKI DZIĘKI PIOTRZE
Miałem to na samym widoku, taki zemnie gapa.
POZDRO

02-12-2004 10:59
  
Wszystkich odpowiedzi: 10 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1