Witam ponownie.
Znowu poległem.
Teraz chciałbym odwrócić sytuację.
Pracuję nad makrem za pomocą którego usuwał bym zdjęcie z arkusza ale i od razu z folderu na dysku. O ile usunięcie grafiki z arkusza nie stanowi problemu (za pomocą oCellRange.clearContents( com.sun.star.sheet.CellFlags.OBJECTS) to nie wiem jak w nowym module pobrać adres url do danego zdjęcia z arkusza( zapewne za pomocą DrawPage).
Wiem jak usunąć z dysku (za pomocą Kill "C:\...." ) ale jak uzyskać informację o konkretnej ścieżce do pliku.
Dołączam załącznik z mojego poprzedniego wątku w którym jest dodane usunięcie przycisku po wczytaniu zdjęcia. Nie do końca też mi to funkcjonuje bo po przełączeniu karty przycisk się pojawia ale jest nie aktywny dopiero po zamknięciu arkusza i ponownym otwarciu znika.
Pytanie: Jak wydobyć adres URL grafiki w arkuszu.
Uzyskanie adresu grafiki i usunięcie jej z dysku.
Uzyskanie adresu grafiki i usunięcie jej z dysku.
- Załączniki
-
- wstaw grafikę.ods
- (14.52 KiB) Pobrany 200 razy
Apache OpenOffice 4.1.4, Windows 8.1
Re: Uzyskanie adresu grafiki i usunięcie jej z dysku.
Znaczy chcesz zrobić makrowirusa?
Re: Uzyskanie adresu grafiki i usunięcie jej z dysku.
Dlaczego?
Mam arkusze klientów w których dodaję sobie zdjęcia w celu ich łatwiejszej identyfikacji.Te zdjęcia umieszczam sobie w folderze D:zdjęcia.
W poprzednim wątku przy waszej pomocy zrobiłem dodawanie zdjęcia prosto z dysku do arkusza z odpowiednim rozmiarem i położeniem.
Teraz tą sytuację chciałbym odwrócić. W momencie usunięcia klienta z arkusza chciałbym aby usunęło się zdjęcie danego klienta i z arkusza i z dysku(żeby mi niepotrzebnie nie zajmowało miejsca) Z arkusza to już wiem jak co napisałem wyżej. Tylko jak teraz pobrać nazwę zdjęcia i usunąć właściwy z D:zdjęcia?
Mam arkusze klientów w których dodaję sobie zdjęcia w celu ich łatwiejszej identyfikacji.Te zdjęcia umieszczam sobie w folderze D:zdjęcia.
W poprzednim wątku przy waszej pomocy zrobiłem dodawanie zdjęcia prosto z dysku do arkusza z odpowiednim rozmiarem i położeniem.
Teraz tą sytuację chciałbym odwrócić. W momencie usunięcia klienta z arkusza chciałbym aby usunęło się zdjęcie danego klienta i z arkusza i z dysku(żeby mi niepotrzebnie nie zajmowało miejsca) Z arkusza to już wiem jak co napisałem wyżej. Tylko jak teraz pobrać nazwę zdjęcia i usunąć właściwy z D:zdjęcia?
Apache OpenOffice 4.1.4, Windows 8.1
Re: Uzyskanie adresu grafiki i usunięcie jej z dysku.
Skoro dodajesz zdjęcie, to zmodyfikuj poprzednie makro, tak aby zapisywało położenie zdjęcia w komórce w ukrytej kolumnie.
Re: Uzyskanie adresu grafiki i usunięcie jej z dysku.
To jest prawie dobre rozwiązanie.
Poprawiłem makro i teraz wpisuje mi ścieżkę do grafiki w komórce pod zdjęciem. W momencie gdy chcę usunąć dane zdjęcie, makro pobiera wpis z tej komórki i usuwa zdjęcie z dysku.
Ale...
Co mam zrobić jak już mam kilkadziesiąt grafik osadzonych w dokumencie (gdyż pracuję na arkuszu już z dwa lata) i nie mam w komórkach pod nimi wpisanych ścieżek do pliku na dysku?
W momencie ładowania się dokumentu w czasie wczytywania grafiki pojawia się w jej miejscu kwadracik i napis np."grafika 63..."
Jak w takiej sytuacji "dobrać się" do pliku źródłowego na dysku?
Poprawiłem makro i teraz wpisuje mi ścieżkę do grafiki w komórce pod zdjęciem. W momencie gdy chcę usunąć dane zdjęcie, makro pobiera wpis z tej komórki i usuwa zdjęcie z dysku.
Ale...
Co mam zrobić jak już mam kilkadziesiąt grafik osadzonych w dokumencie (gdyż pracuję na arkuszu już z dwa lata) i nie mam w komórkach pod nimi wpisanych ścieżek do pliku na dysku?
W momencie ładowania się dokumentu w czasie wczytywania grafiki pojawia się w jej miejscu kwadracik i napis np."grafika 63..."
Jak w takiej sytuacji "dobrać się" do pliku źródłowego na dysku?
Apache OpenOffice 4.1.4, Windows 8.1
Re: Uzyskanie adresu grafiki i usunięcie jej z dysku.
A czy w ogóle taka informacja istnieje?
Grafikę w dokumencie można opisać przez odwołanie do zewnętrznego zasobu (link) albo przez zasób zintegrowany z dokumentem. W tym drugim przypadku może nie być żadnego śladu po adresie źródła, z którego została kiedyś pobrana.
Według mnie taka informacja nie jest nigdzie odnotowana.
Na szczęście dokumenty ods są kontenerami zip, w których cała pozostała informacja jest zapisana otwartem tekstem. Wystarczy przeszukać pliki xml, żeby się dowiedzieć na 100%.
Grafikę w dokumencie można opisać przez odwołanie do zewnętrznego zasobu (link) albo przez zasób zintegrowany z dokumentem. W tym drugim przypadku może nie być żadnego śladu po adresie źródła, z którego została kiedyś pobrana.
Według mnie taka informacja nie jest nigdzie odnotowana.
Na szczęście dokumenty ods są kontenerami zip, w których cała pozostała informacja jest zapisana otwartem tekstem. Wystarczy przeszukać pliki xml, żeby się dowiedzieć na 100%.
JJ
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (24.2|7.6) ∙ Python (3.12|3.11|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)