Avatar billede carstenp Nybegynder
24. marts 2001 - 15:38 Der er 2 kommentarer og
1 løsning

VBA XL problem

Jeg forsøger at lave noget kode der
fryser en form i excel når den bliver
opdateret. Det giver en bedre performance.

Jeg har dog lidt problemer med nogle
typedefinitioner jeg kan ikke få til
virke.

Det drejer sig om Dim obFF As New CFreezeform.
Der kommer en fejlmeddelelse om at den ikke
er defineret.

jeg har lavet en form med en listbox og to
knapper.

Følgende kode er under en class module ved navn CFreezeform.

Option Explicit

\'Find a window
Private Declare Function FindWindow Lib \"user32\" _
    Alias \"FindWindowA\" ( _
    ByVal lpClassName As String, _
    ByVal lpWindowName As String) As Long
   
    \'Freeze the window to prevent continous redraws
   
Private Declare Function LockWindowUpdate Lib \"user32\" ( _
    ByVal hwndLock As Long) As Long
   

Public Sub Freeze(oForm As UserForm)
Dim hWnd As Long
\'Get a handle to the userform window,
\'using the class name appropriate for the XL version.
If Val(Application.Version) >= 9 Then
hWnd = FindWindow(\"ThunderDFreame\", oForm.Caption)
Else
hWnd = FindWindow(\"ThunderFreame\", oForm.Caption)
End If

\' if you got the handle freeze the window.
If hWnd > 0 Then LockWindowUpdate hWnd

End Sub

\'allow the calling routine to unfreeze the userform

Public Sub UnFreeze()
LockWindowUpdate 0

End Sub


\'if they forget to unfreeze the form do it at the end
\'of the calling routine (when you go out of scope)
Private Sub Class_Terminate()
UnFreeze

End Sub




og følgende kode er under knappen:


Private Sub CommandButton2_Click()
Dim obFF As New CFreezeform, i As Integer
obFF.Freeze Me

For i = 1 To 1000
ListBox1.AddItem \"item\" & i
DoEvents
Next i
End Sub

Avatar billede janvogt Praktikant
26. marts 2001 - 22:51 #1
Har du prøvet Application.Screenupdating = False?

Avatar billede carstenp Nybegynder
27. marts 2001 - 20:45 #2
Det virker ikke på forms!
Avatar billede carstenp Nybegynder
07. april 2001 - 09:33 #3
Det er der åbenbart ingen der kan hjælpe med, så
jeg lukker spørgsmålet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester