Zdravím všechny,
prosím o pomoc s kódem - nevěděl by někdo,jak zakázat ukončení ( zavření excelu ) křížkem?
Na googlu jsem nějaké možnosti našel,ale ty se bohužel týkaly jen zakázání zavření userform formuláře.
Nevěděl by někdo jak zakázat zavření excelu křížkem? V tabulce mám tlačítko uložení a zavření ( ukládá se mi tím záloha souboru ).
Předem děkuji za radu.
zavření sešitu - excelu
-
- Level 3
- Příspěvky: 452
- Registrován: leden 12
- Bydliště: Země, bohužel...
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: zavření sešitu - excelu
Ahoj,
a co třeba dát to makro na uložení do Workbook_BeforeClose v modulu This Workbook? Pak kdykoliv zmáčkneš křížek, tak se ti sešit uloží a zavře. Nešlo by to tak?
--- Doplnění předchozího příspěvku (13 Srp 2014 08:58) ---
Samožřejmně, že i zakázání zavření jde udělat.
V modulu This Workbook:
Na začátek modulu s makrem ukládajícím sešit (úplně nahoru před všechny makra):
a do svého makra před řádek který má sešit zavřít přidej:
a co třeba dát to makro na uložení do Workbook_BeforeClose v modulu This Workbook? Pak kdykoliv zmáčkneš křížek, tak se ti sešit uloží a zavře. Nešlo by to tak?
--- Doplnění předchozího příspěvku (13 Srp 2014 08:58) ---
Samožřejmně, že i zakázání zavření jde udělat.
V modulu This Workbook:
Kód: Vybrat vše
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If zavrit = True Then
Cancel = False
Else
Cancel = True
End If
End Sub
Na začátek modulu s makrem ukládajícím sešit (úplně nahoru před všechny makra):
Kód: Vybrat vše
Public zavrit As Boolean
a do svého makra před řádek který má sešit zavřít přidej:
Kód: Vybrat vše
zavrit = True
Pokud je to vše.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.
-
- Pohlaví:
Re: zavření sešitu - excelu
Zavřít sešit nebo zavřít Excel? Jo křížek v titulkové liště aplikace (mimochodem tlačítka mají souvislost se systémovým menu okna, tj, po klepnutí na ikonu Excelu v levém horním roku) třeba přes API a dál? Co pravé tlačítko myši na zástupce Excelu v systémové liště, klávesová zkratka ALT+F4? Ono má opravdu větší smysl nenechat si zavřít sešit...
Re: zavření sešitu - excelu
Zdravím,
myslím tím zavření celého excelu. Jak jsem psal,používám ukládání kopie sešitu ( prosil jsem o řešení v jiném tématu ) ale kolegové,kteří používají
tento sešit mi bohužel místo tlačítka uložit a zavřít ( sešit se sám uloží a ukončí celý excel ,včetně vytvoření zálohy ) mi klikají na křížek a to je bohužel nežádoucí. Neustále mi dávají otázky typu co s tím mám dělat ( vyskočí na ně hlášení,že v sešitu byly provedeny změny,zda se mají uložit ).Snažil jsem se tomu
předejít výše uvedeným tlačítkem,ale nemůžu je nějak dotlačit aby ho používali.
Děkuju za pochopení a rady,které mi poradíte.
myslím tím zavření celého excelu. Jak jsem psal,používám ukládání kopie sešitu ( prosil jsem o řešení v jiném tématu ) ale kolegové,kteří používají
tento sešit mi bohužel místo tlačítka uložit a zavřít ( sešit se sám uloží a ukončí celý excel ,včetně vytvoření zálohy ) mi klikají na křížek a to je bohužel nežádoucí. Neustále mi dávají otázky typu co s tím mám dělat ( vyskočí na ně hlášení,že v sešitu byly provedeny změny,zda se mají uložit ).Snažil jsem se tomu
předejít výše uvedeným tlačítkem,ale nemůžu je nějak dotlačit aby ho používali.
Děkuju za pochopení a rady,které mi poradíte.
-
- Level 3
- Příspěvky: 452
- Registrován: leden 12
- Bydliště: Země, bohužel...
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: zavření sešitu - excelu
Tak ještě jednou:
Pokud nebudeš vědět jak na to, napiš.
Azuzula píše:... a co třeba dát to makro na uložení do Workbook_BeforeClose v modulu This Workbook? Pak kdykoliv zmáčkneš křížek, tak se ti sešit uloží a zavře...
Pokud nebudeš vědět jak na to, napiš.
Pokud je to vše.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.
-
- Pohlaví:
Re: zavření sešitu - excelu
Pokud víte, co děláte...
Kód: Vybrat vše
Private Const MF_BYCOMMAND As Long = &H0
Private Const SC_CLOSE As Long = &HF060
Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, ByVal bRevert As Long) As Long
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Sub NedovolitZavrit()
Call CloseButton(False)
End Sub
Sub PovolitZavrit()
Call CloseButton(True)
End Sub
Private Sub CloseButton(Optional bEnabled As Boolean = False)
Dim hSysMenu As Long
Dim hWnd As Long
'handle aplikace
hWnd = Application.hWnd
If bEnabled Then
'obnova systémového menu
Call GetSystemMenu(hWnd, 1)
Else
'handle systémového menu
hSysMenu = GetSystemMenu(hWnd, 0)
'křížek zakázán
Call RemoveMenu(hSysMenu, SC_CLOSE, MF_BYCOMMAND)
End If
'překreslení
Call DrawMenuBar(hWnd)
End Sub
-
- Pohlaví:
Re: zavření sešitu - excelu
Já tenhle hatlamatla dotaz nechápu. Sešit osobních maker je v podstatě něco mezi doplňkem a normálním sešitem. Můžete k němu přistoupit přes Workbooks("PERSONAL.XLSB"). Hlášky ukládaní se lze zbavit několika způsoby : zmíněné SaveChanges metody Close, vlastnost Saved nastavená na True (Excel nabude dojmu, že v sešitu nenastaly změny), nebo přes Application.DisplayAlerts = False. Obecně ale nerozumím tomu, proč se vůbec o sešit maker zajímáte (a také nebyl součástí původního dotazu). Ostatně jeho programové zavření může zapříčinit nemožnost nahrát další makro (správně řečeno proceduru).
-
- Pohlaví:
Re: zavření sešitu - excelu
Test, zůstal-li otevřený (ne viditelný) pouze PERSONAL.XLSB:
Stačí?
P. S. Jistě, prdelky, vy chcete pomoct, ne já...
Kód: Vybrat vše
blnPouzePersonal = (Workbooks.Count = 1) And Workbooks(1).Name = "PERSONAL.XLSB"
Stačí?
P. S. Jistě, prdelky, vy chcete pomoct, ne já...
Re: zavření sešitu - excelu
Bylo to přesunuto (smazáno), ale řešením bylo:
Uloží a zavře i personal.xlsb
Díky za pomoc :)
Kód: Vybrat vše
For Each w In Application.Workbooks
w.Save
Next w
Application.Quit
Uloží a zavře i personal.xlsb
Díky za pomoc :)
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
-
Zachovat otevřené programy po zavření notebooku - Windows 11 Příloha(y)
od orfan » 14 bře 2024 11:10 » v Windows 11, 10, 8... - 7
- 2376
-
od orfan
Zobrazit poslední příspěvek
15 bře 2024 23:26
-
-
- 0
- 3040
-
od Jsimi
Zobrazit poslední příspěvek
06 úno 2024 22:43
-
-
Graf v Excelu ukazuje chybné hodnoty. Příloha(y)
od atari » 25 dub 2024 08:42 » v Kancelářské balíky - 4
- 1897
-
od atari
Zobrazit poslední příspěvek
25 dub 2024 13:28
-
-
-
Jak do Excelu dostat aktuální hodnotu z webové stránky? Příloha(y)
od Peťa » 10 lis 2023 09:41 » v Kancelářské balíky - 2
- 3399
-
od Peťa
Zobrazit poslední příspěvek
10 lis 2023 16:24
-
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 5 hostů