vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest środa, 08 września 2010 roku.
Ustaw jako stronę startową Ulubione Napisz
PowrótPowrót do serwisu  RegulaminRegulamin rssRSS

  tytuł wątku:
Wątki dyskusji

Problem z uruchamianiem formularza wraz ze skoroszytem.


otwartyotwarty rozpoczął: Kalumet postów: 3



napisał: Kalumet
postów: 27


umieszczony:
2 lutego 2010
21:56

  
Niesamowite! Działa! Oj, sam to bym nad tym jeszcze długo długo myślał. Jeśli w ogóle bym problem rozwiązał Bardzo dziękuję!

Pozdrawiam
Kalumet
Reklama
napisał: admin
postów: 461


umieszczony:
2 lutego 2010
21:47

  
Zamiast:
Private Sub UserForm_Initialize()
     
    Call RemoveCaption(Me)
    AppActivate "Microsoft Visual Basic"
    Me.txtSzukanyArtykuł.SetFocus
     
End Sub



Lepiej:
Private Sub UserForm_Activate()

Call RemoveCaption(Me)
Me.txtSzukanyArtykuł.SetFocus

End Sub

napisał: Kalumet
postów: 27


umieszczony:
2 lutego 2010
19:49

  
Witam,

Od kilku godzin morduję się z uruchomieniem formularza wraz z otwarciem skoroszytu. Oczywiście, umieściłem

Private Sub Workbook_Open()
frmWyszukiwanie.Show
End Sub

w ThisWorkbook. I uparcie otrzymuję komunikat o błędzie: "Run-time error '5'. Invalid procedure call or argument." Co ciekawe, gdy w ramach prób stworzyłem nowy formularz UserForm1 i spróbowałem uruchomić w ten sposób, wszystko zadziałało. Dodam jeszcze, że formularz uruchamiany jest bez paska tytułu a zrealizowałem to znalezionym w sieci kodem, który zamieszczam poniżej:

W module standardowym:

Option Explicit

Private Declare Function FindWindow Lib "User32" _
Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long

Private Declare Function GetWindowLong Lib "User32" _
Alias "GetWindowLongA" ( _
ByVal hwnd As Long, _
ByVal nIndex As Long) As Long

Private Declare Function SetWindowLong Lib "User32" _
Alias "SetWindowLongA" (ByVal hwnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long

Private Declare Function DrawMenuBar Lib "User32" ( _
ByVal hwnd As Long) As Long

Sub RemoveCaption(objForm As Object)

Dim lStyle As Long
Dim hMenu As Long
Dim mhWndForm As Long

If Val(Application.Version) < 9 Then
mhWndForm = FindWindow("ThunderXFrame", objForm.Caption) 'XL97
Else
mhWndForm = FindWindow("ThunderDFrame", objForm.Caption) 'XL2000+
End If
lStyle = GetWindowLong(mhWndForm, -16)
lStyle = lStyle And Not &HC00000
SetWindowLong mhWndForm, -16, lStyle
DrawMenuBar mhWndForm

End Sub

W module formularza:

Private Sub UserForm_Initialize()

Call RemoveCaption(Me)
AppActivate "Microsoft Visual Basic"
Me.txtSzukanyArtykuł.SetFocus

End Sub

Może gdzieś tutaj tkwi przyczyna kłopotu? Pewnie, jak zawsze, sprawa jest prosta ale najwyraźniej się zblokowałem i nie pozostaje mi nic innego jak liczyć na pomoć Kogoś Mądrzejszego

Pozdrawiam
Kalumet
Reklama


<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z