NOVINKA: Získej 40 hodin praktických dovedností s AI –
ZDARMA ke každému akreditovanému kurzu!
S účinností od 26. 3. jsme aktualizovali Zásady zpracování osobních
údajů – doplnili jsme informace o monitorování telefonických
hovorů se zájemci o studium. Ostatní části zůstávají beze změn.
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_Activate()
Private Sub ActiveWorkbook_Activate()
Private Sub ActiveWorkbook_Open()
Nicméně ani jedna z nich se mi nezavolala po spuštění excelu (měl jsem
na začátku MsgBox() )
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.