Új hozzászólás Aktív témák

  • vilag

    tag

    Hali!

    Nem tudja valaki, hogy Win7 és Office 2007 alatt az alábbi kódrészlettel mi lehet a baj?

    Private Function GetActive(con As Control) As Control 'Aktív vezérlő meghatározása

    If TypeName(con) = "UserForm" Then
    Dim f As UserForm
    Set f = con
    Set GetActive = GetActive(f.ActiveControl)
    ElseIf TypeName(con) = "MultiPage" Then
    Dim mp As MultiPage
    Set mp = con
    Set GetActive = GetActive(mp.SelectedItem)
    ElseIf TypeName(con) = "Page" Then
    Dim pg As Page
    Set pg = con
    Set GetActive = GetActive(pg.ActiveControl)
    ElseIf TypeName(con) = "Frame" Then
    Dim fr As Frame
    Set fr = con
    Set GetActive = GetActive(fr.ActiveControl)
    Else
    Set GetActive = con
    End If

    End Function

    XP alatt tökéletesen működik.
    Win7 alatt a "Set pg = con sornál "Type mismatch" hibaüzenetet ad.

    Van esetleg valakinek ötlete?
    Olyan megoldás is érdekel ha valaki tudja hogyan lehet kinyerni, hogy éppen melyik vezérlőben vagyok, vagyis annak a nevét.

Új hozzászólás Aktív témák

Hirdetés