W mojej pracy często wysyłane są artykuły utworzone w różnych edytorach tekstu, które otwieram i edytuję w programie Word 2013. Jednak pod względem kompatybilności, oczywiście nie grają one zbyt dobrze razem.
Nie wymaga to intensywnego formatowania, ale mam poważne, ciągłe problemy z wyświetlaniem hiperłączy w tych artykułach.
Jedna osoba pisze w Pages (Mac) i zapisuje jako .docx. Hiperłącza w jej plikach są zawsze podkreślone, ale nigdy nie są niebieskie, jak to się dzieje w programie Word: są czarne. Zauważyłem również, że jeśli mam dodać link do utworzonego przez nią pliku, pojawia się on w czarnym podkreślonym tekście, a nie w niebieskim podkreśleniu, jak w moich innych plikach.
Inna osoba wysyła pliki jako .rtf - nie jestem pewien, jaki program, ale na komputerze Mac. Hiperłącza w jego plikach w ogóle nie mają innego formatowania niż reszta tekstu. Dopiero po najechaniu myszką w programie Word widać, że jest tam link. Podczas przeglądania w moim programie Word 2013 hiperłącza i zwykły tekst są identyczne. Co ciekawe, w podglądzie Gmaila łącza w tych plikach wyglądają dobrze (niebieskie, podkreślone), więc wykorzystałem to jako obejście. Wspomniana osoba próbowała zamiast tego zapisać jako .docx, ale hiperłącza w ogóle nie przetrwały konwersji - nie ma ich nawet po najechaniu myszką na miejsce, w którym kiedyś była.
Czy istnieje sposób (zamiast tych dwóch), aby automatycznie zmieniać te pliki po otrzymaniu na te, w których hiperłącza pojawiają się normalnie, w innym kolorze i podkreślone?
Przypadek nr 1 jest do zniesienia, ale już od dłuższego czasu był to problem.
Przykładowy plik przypadku 2 (zawiera tylko jedno hiperłącze): http://s000.tinyupload.com/index.php?file_id=45065577867642123191
Odpowiedzi:
Studiowałem przykładowy plik i myślę, że zrozumiałem źródło problemu: format RTF ma pola hiperłącza, ale nie ma stylu hiperłącza. Tylko bardziej rozwinięte formaty dokumentów mają ten styl: DOC, DOCX i DOCM.
Pola hiperłącza w dokumencie RTF są poprawnie zdefiniowane, ale w stylu Normalnym, a nie w stylu Hiperłącza. Niestety, Word nie może automatycznie rozwiązać tego problemu.
Rozwiązaniem, którego użyłem do poprawienia przykładowego pliku było:
(DOCM jest taki sam jak DOCX, tyle że dozwolone są makra)
Użyte przeze mnie makro VBA jest wymienione poniżej:
Zaletą tego rozwiązania jest to, że przypisuje prawdziwy styl hiperłącza do wszystkich pól hiperłącza. Jest to lepsze niż wprowadzanie tylko kosmetycznych zmian, takich jak kolor czcionki i podkreślenie.
źródło
oHyperlink.Range
, co tylko chcesz, nie tylko ustawiając styl. Przypadek nr 1: możesz opublikować przykład, ale być może najpierw włącz wyświetlanie kodów pól, aby zobaczyć, jak / jeśli Pages utworzyły te pola.Jeśli wszystkie hiperłącza są w rzeczywistości hiperłączami (nie tylko tekstem), to
Nie przejmuj się, mój przyjacielu
Czeka Cię 10 łatwych kroków.
Spróbuj tego:
Alt+F9
dokument, w którym chcesz zobaczyć zmianę (spowoduje to przekształcenie i odsłonięcie wszystkich hiperłączy, bez obaw).Ctrl+H
aby otworzyćFind and Replace
.^d hyperlink
wFind
polu.Replace with
pole, ale nic nie pisz.More
przycisk podReplace with
polem.Format
przycisk poniżej innych opcji, które właśnie ujawniłeś.Style
.Hyperlink
z listy (naciśnijH
na klawiaturze, aby łatwiej ją znaleźć) i kliknijOK
.Replace All
i voila! to wszystko zrobione.Find and Replace
okno i naciśnijAlt+F9
.WSKAZÓWKA: Jeśli nie chcesz tego robić za każdym razem dla każdego dokumentu, możesz utworzyć funkcję Makro i umieścić ją na Wstążce. Od tego momentu wystarczy jedno kliknięcie myszą.
Mam nadzieję, że to pomoże.
źródło
Za duży na komentarz (co powinno być, ponieważ nie jest dobrze przetestowany i może nie robić tego, co chcesz).
Jeśli Autoformatowanie nie robi wystarczająco dużo (zgodnie z naszą rozmową w komentarzach), myślę, że będziesz musiał zrobić sporo do każdego hiperłącza, tj.
Jeśli zaimportowany tekst zawiera wiele hiperłączy, wykonanie tego wszystkiego będzie prawdopodobnie dość nużące, dlatego następujący fragment VBA ma na celu naprawienie hiperłączy w treści aktualnie aktywnego dokumentu Word.
Wykryje tylko rzeczy, które Word uważa za hiperłącza (niekoniecznie wszystko, czego oczekujesz).
Sugerowałbym, aby w miarę możliwości najpierw otworzyć zaimportowane teksty jako osobne dokumenty, a następnie uruchomić ten kod. To powinno zminimalizować niepożądane skutki uboczne.
Cechą stylu znaków Hiperłącza jest to, że stosuje on „Domyślną czcionkę akapitu”, która może nie mieć takich samych właściwości (np. Rozmiar itp.) Jak istniejący tekst. Nawet jeśli zmodyfikujesz styl, aby użyć „Podstawowych właściwości”, może on zmienić rozmiar tekstu i tak dalej. Więc zrobiłem tutaj, aby spojrzeć na właściwości pierwszego znaku w „tekście wyświetlanym” hiperłącza i ponownie zastosować go do całego wyświetlanego tekstu po zastosowaniu stylu hiperłącza.
Ale jeśli stosujesz własne style akapitowe do importowanego tekstu, bardziej prawdopodobne jest, że tekst stylem Hiperłącze i tak zrobi, co chcesz, więc możesz być w stanie usunąć ten kawałek VBA.
Jeśli potrzebujesz szukać hiperłączy w innych „historiach” w dokumencie, takich jak pola tekstowe, nagłówki / stopki itp., Na pewno będziesz potrzebować więcej.
źródło