Excel Forum - Porady, Pomoc,  Excel Help, Excel FAQ Strona Główna
 FAQ  RegulaminRegulamin  Szukaj   Użytkownicy   Grupy   Rejestracja   Profil   Twoje wiadomości   Zaloguj 


Poprzedni temat «» Następny temat
ID tematu: 64624 Skopiuj do schowka zapisz i wyjdź - tylko aktywny arkusz
Autor Wiadomość
slavio 
Fan Excela


Pomógł: 2 razy
Posty: 90
Wysłany: 03-04-2019, 08:14   zapisz i wyjdź - tylko aktywny arkusz

Cześć maniacy Excela

Mam problem i nie wiem jak mam go rozwiązać

Stworzyłem sobie arkusz, w którym za pomocą buttona chciałbym zapisać zmiany zmiany tylko i wyłącznie w aktywnym skoroszycie, a następnie zamknąć skoroszyt.

Problem polega na tym, że w przypadku, gdy inne pliki są otwarte i są w nich wprowadzone niezapisane zmiany (które można cofnąć - ctrl + Z), to makro powoduje w tych innych plikach utratę możliwości cofania zmian. Makro nie powoduje zapisania jednak zmian, ponieważ przy próbie zamknięcia pliku pojawia się monit o zapisanie pliku.

Problemu nie ma w przypadku buttona "nie zapisuj"

sławek

Załącznik.xlsm
Pobierz Plik ściągnięto 15 raz(y) 18.59 KB

ID posta: 365309 Skopiuj do schowka
 
 
Artik 



Wersja: Win Office 365
Pomógł: 2647 razy
Posty: 8778
Wysłany: 04-04-2019, 01:53   

Nautrudniałeś sobie w życiu na maxa. :-)

Kod:
Sub save_TRUE_1()
  ThisWorkbook.Save
 
  If CzyInneOtwarte(ThisWorkbook) Then
    ThisWorkbook.Close
  Else
    Application.Quit
  End If
End Sub


Sub save_FALSE_1()
  If CzyInneOtwarte(ThisWorkbook) Then
    ThisWorkbook.Close SaveChanges:=False
  Else
    ThisWorkbook.Saved = True
    Application.Quit
  End If
End Sub


Przy takim rozwiązaniu, wywal koniecznie procedurę Workbook_BeforeClose z modułu Ten_skoroszyt, bo będzie mieszać.

Artik
_________________
Persistence is a virtue in the world of programming.
ID posta: 365382 Skopiuj do schowka
 
 
slavio 
Fan Excela


Pomógł: 2 razy
Posty: 90
Wysłany: 04-04-2019, 07:42   

Cześć

Dzięki Artik, ale nadal nie działa tak jak chciałem

Jeśli mamy otwarty plik z wprowadzonymi zmianami (niezapisany) - to można cofnąć zmiany

Po otwarciu pliku (tego co powyżej lub tego z Twoim kodem) - po zapisaniu i wyjściu - to już nie można cofnąć zmian w otwartych wcześniej plikach - znika też znaczek cofania zmiany, a crlt+Z nie działa.

Chwilowo temat obszedłem procedurą - czy inne otwarte - to msgbox z inf o konieczności zamknięcia innych plików excela i wyjście z pliku, ale nie o to chodzi.

Slavio
ID posta: 365386 Skopiuj do schowka
 
 
Artik 



Wersja: Win Office 365
Pomógł: 2647 razy
Posty: 8778
Wysłany: 04-04-2019, 10:13   

Aaaa, o to chodzi.

Eeee, panie to się nie da. To przypadłość Excela, że kasuje historię działań, gdy jakieś makro zaingeruje w zawartość jakiegokolwiek pliku w jednej instancji. Obejściem wydaje się, by plik, o którym rozmawiamy, otwierać w osobnej instancji.

Artik
_________________
Persistence is a virtue in the world of programming.
ID posta: 365403 Skopiuj do schowka
 
 
slavio 
Fan Excela


Pomógł: 2 razy
Posty: 90
Wysłany: 04-04-2019, 10:26   

Cześć

To widzę, że moje "tymczasowe" rozwiązanie przetrwa... bo rozwiązuje w jakiś sposób problem.


Slavio
ID posta: 365406 Skopiuj do schowka
 
 
Artik 



Wersja: Win Office 365
Pomógł: 2647 razy
Posty: 8778
Wysłany: 04-04-2019, 10:30   

Od dawna wiadomo, że prowizorki są najtrwalsze. :-)

Artik
_________________
Persistence is a virtue in the world of programming.
ID posta: 365407 Skopiuj do schowka
 
 
slavio 
Fan Excela


Pomógł: 2 razy
Posty: 90
Wysłany: 10-04-2019, 23:49   

Artik napisał/a:
Aaaa, o to chodzi.

Eeee, panie to się nie da. To przypadłość Excela, że kasuje historię działań, gdy jakieś makro zaingeruje w zawartość jakiegokolwiek pliku w jednej instancji. Obejściem wydaje się, by plik, o którym rozmawiamy, otwierać w osobnej instancji.

Artik


Cześć

A jednak się udało. Możecie to przetestować u siebie. Próbowałem na wielu pikach i działało, zamiany można cofać w plikach, które były edytowane, a działały w tle podczas zapisywania pliku testowego..

Jedyna (chyba) przypadłość pliku jest taka, że tzw. krzyżyk zamyka tylko i wyłącznie okno, a nie program Excel. Trzeba nacisnąć go 2 razy

Slavio

PLIK TESTOWY.xlsm
Pobierz Plik ściągnięto 15 raz(y) 20.72 KB

ID posta: 365835 Skopiuj do schowka
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Theme xandgreen created by spleen& Programosy modified v0.3 by warna
Opieka techniczna www.marketingNET.pl

Archiwum

Strona używa plików cookies.

Kliknij tutaj, żeby dowiedzieć się jaki jest cel używania cookies oraz jak zmienić ustawienia cookie w przeglądarce.
Korzystając ze strony użytkownik wyraża zgodę na używanie plików cookies, zgodnie z bieżącymi ustawieniami przeglądarki.
Sprawdź, w jaki sposób przetwarzamy dane osobowe