/ / Jak odblokować strukturę dokumentu xlsx w programie Excel 2013 - excel, vba, excel-vba

Jak odblokować strukturę dokumentu xlsx w programie Excel 2013 - excel, vba, excel-vba

Mam problem z makrem, który nie powiódł się przy próbie UnfreezePanes. Dokument ma zabezpieczenie struktury: Widok> Ochrona skoroszytu> Ochrona struktury i okna (dla wersji 2013)

W wersjach programu Excel przed 2013 r. Nie mam problemów z makrem:

Sub Unfreeze()
ActiveWorkbook.Unprotect
ActiveWindow.FreezePanes = False
End Sub

Ale w wersji 2013 napotkałem problem, gdy "ActiveWorkbook.Unprotect" jest wykonywany bez błędów, ale nie anuluje ograniczeń zmiany struktury z dokumentu, ponieważ wiersz newt ActiveWindow.FreezePanes = False rzuty:

błąd 1004 "Błąd zdefiniowany w aplikacji lub zdefiniowany przez obiekt".

Ponadto przycisk FreezePanes na Wstążce jest zablokowany nawet po naciśnięciu przycisku "Włącz edycję", który pojawia się przy każdym otwarciu dokumentu.

Włącz przycisk edycji

Po naciśnięciu przycisku "Włącz edycję" idędo VBE i uruchom "ActiveWorkbook.Unprotect", a następnie nadal widzę, że dokument jest chroniony: Widok> Ochrona skoroszytu> Struktura jest sprawdzana. Tak więc moje próby usunięcia ochrony nie bezpośrednio z tego okna nie powiodły się. Ale! Nie jestem w stanie usunąć ochrony nawet z tego okna! Po odznaczeniu pola wyboru "Struktura" przycisk [OK] przestaje działać! Ochrona nie ma hasła, ponieważ nawet po wpisaniu niektórych symboli w polu hasła nadal nie można nacisnąć przycisku [Ok], podczas gdy pole wyboru "Struktura" nie jest zaznaczone.

Nie można odblokować

Proszę zauważyć, że problem jest powtarzalny w programie Excel 2013 i będzie świetnie, jeśli doradzi się, jak odblokować dokument za pomocą kodu VBA.

Przykład dokumentu można znaleźć tutaj

Odpowiedzi:

1 dla odpowiedzi № 1

Skoroszyt może być częściowo niechroniony, ale zachowuje podpis cyfrowy.

podpis cyfrowy

Kliknij kolejno Plik ► Informacje ► Ochrona skoroszytu ► Dodaj podpis cyfrowy, aby uzyskać szczegółowe informacje. Zmiana lub usunięcie go całkowicie przywróciło możliwość zablokowania / odfiltrowania okien.


0 dla odpowiedzi nr 2

W przypadku plików Excel z poprzednich wersji programu excel miałem activesheet.unprotect zmienić arkusz aktywny w E2013.

Może, jeśli spróbujesz zakwalifikować wywołanie do usunięcia ochrony za pomocą nazwy skoroszytu i to samo z wywołaniem freezepanes?

Nie testowałem tego.