Chci geek triko! Chci geek triko!
Extra 10 % bodů navíc a tričko zdarma při zadání kódu "TRIKO10"

Diskuze: Excel VBA xlam script

Ostatní jazyky Ostatní programovací jazyky Excel VBA xlam script

Aktivity (1)
Avatar
nalimleinad
Člen
Avatar
nalimleinad:3. července 16:08

Ahoj,

mám xlam script, u kterého potřebuji detekovat, že pokud uživatel otevře excelovou tabulku, která obsahuje sheet se jménem x a y, aby mu to do nabídky right-clicku přidalo menu.

Mám v xlam scriptu v ThisWorkbook toto:

Private Sub Workbook_Open()
    Dim i As Integer
    Dim patchListFound As Boolean
    Dim deviceListFound As Boolean

    'ThisWorkbook.Activate

    With ActiveWorkbook
        For i = 1 To .Sheets.Count
            If .Sheets(i).Name = patchlist Then
                patchListFound = True
                Exit For
            End If

            If .Sheets(i).Name = deviceList Then
                deviceListFound = True
                Exit For
            End If
        Next i
    End With

    If patchListFound = True And deviceListFound = True Then
        AddToCellMenu
    Else
        Call DeleteFromCellMenu
    End If
End Sub

Problém je ovšem v tom, že po otevření excelového dokumentu dostanu chybovou hlášku
".Sheets.Count - Object variable or with block variable not exists"

Podle mě to je tím, že se nestihnou načíst ještě sheety, ale možná se pletu.

Zkusil jsem: Zkoušel jsem měnit i na With ThisWorkbook, ale to mi bere Sheety z xlam scriptu, né z dokumentu, který se otevře.

Chci mít možnost custom jména excelového dokumentu, takže ho nechci nutit do kódu.

Zkoušel jsem ještě řadu funkcí jako:

Private Sub Workbook_Activate()
Private Sub ThisWorkbook_Ac­tivate()
Private Sub ActiveWorkbook_Ac­tivate()
Private Sub ActiveWorkbook_O­pen()

Nicméně ani jedna z nich se mi nezavolala po spuštění excelu (měl jsem na začátku MsgBox() )

Chci docílit: Nějaké nápady ?

 
Odpovědět 3. července 16:08
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.