< návrat zpět
MS Excel
Téma: Jak s třídou workbook
Zaslal/a Mira-2 29.4.2022 13:59
Dobrý den,
objekt wb se občas špatně otevře. Když ho pak zavírám, tak to hlásí chybu. Nevím, jak ten stav ošetřit "wb is nothing" nefunguje:
Dim wb As Workbook
Cesta = xFile.Path
Set wb = Workbooks.Open(Cesta, , True)
...
If Not (wb Is Nothing) Then
wb.Close SaveChanges:=False
End If
Barth(2.5.2022 8:00)#052618 Nejspíš proměnná odkazuje na již zavřený sešit, avšak stále není Nothing. Pokud by byl problém s otevřením, tak by došlo k chybě již při otevření sešitu.
Zkuste chybové stavy při otevření a zavření ošetřit pomocí On Error.
citovat
Akú chybu to hlási?
Neprebiehajú po štarte nejaké aktualizácie pripojení, powerquery a pod?
Skúste vynechať parameter SaveChanges.
Priložte anonymizovanú prílohu.
citovat
Mira-2(2.5.2022 14:24)#052622 Při debug watching:
Expression Value Type
wb Workbook/Workbook
<No Variables>
Potřebuji tento stav nějakým ifem zachytit. Přes On error jsem to řešil hned. Přesto mi nějaký unikne. Proto se ptám na indikaci tohoto stavu přímějším způsobem. Vynechání SaveChanges nepomáhá.
citovat
Barth(2.5.2022 15:06)#052624 Deklarace:
Dim wb As Workbook
Je na úrovni procedury nebo modulu?
Nedojde k zavření již v jiné (vnořené) proceduře?
Přidejte ještě po zavření:
Set wb = Nothing
Misto SaveChanges lze také použít vlastnost sešitu Saved.
citovat