< návrat zpět
MS Excel
Téma: UnDo
Zaslal/a CmeldaBoris 2.6.2015 12:00
Ahoj, potřeboval bych poradit od zkušenějších:
Když se vykoná makro, disabluje se funkce Excelu "UnDo". To chápu, tak to prostě je.
Nyní mám vlastní místní nabídku v kontext. menu (pravé tlač. myši), kde mám kromě vlastních položek i defaultní příkazy, jako např. vyjmout, kopírovat, vložit, formát buněk - například takto:
Set MyMenu = CommandBars.Add(Name:="MojeMenu1", Position:=msoBarPopup, Temporary:=True)
MyMenu.Controls.Add Type:=msoControlButton, ID:=855, before:=14 ' Formát buněk
Funguje to, ale po provedení se disabluje UnDo, i přesto, že se neprovedlo moje makro, ale standardní příkaz. Nevíte jak to udělat, aby v tomto případě zůstalo UnDo aktivní?
Ak sa to chce niekomu rozpitvávať, tak UndoHandler :
http://www.jkp-ads.com/Download.asp#UndoHandler
Je ale potrebné dopredu vedieť čo sa bude meniť. Ak to nevieme, tak musíme v OnChange, odložiť nové hodnoty po zmene, urobiť Undo (rovno v OnChange to ide), zistiť čo bolo pred zmenou (vieme ktoré bunky sa menili), a aplikovať tie odložené nové hodnoty do UndoHandler-u. Všetko z tej OnChange.
Nič jednoduché to teda nieje. Navyše treba UndoHandler ešte dosť prispôsobiť svojím potrebám. Ale takto ako je tam naprogramovaný funguje - sfunkční šípky Undo+Redo na vybrané druhy zmien.
citovat