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: 54918 Skopiuj do schowka [WORD - łącza] Zmiana lokalizacji pliku źródłowego po skopio
Autor Wiadomość
piofrysz
Świeżak


Posty: 1
Wysłany: 22-11-2016, 22:17   [WORD - łącza] Zmiana lokalizacji pliku źródłowego po skopio

Cześć! :)
Mam pewien problem, z którym nie mogę sobie poradzić :( Mianowicie:
Zrobiłem pewne łącza w Wordzie z Excela. Mam tego Worda i Excela w jednym folderze w miejscu X gdzieś na dysku. Kopiuje ten folder, w którym mam te dwa pliki i wklejam go w miejsce Y. I niestety lokalizacją pliku źródłowego łącza, które mam w tym skopiowanym Wordzie, pozostaje cały czas Excel w miejscu X, a chciałbym, żeby lokalizacja pliku źródłowego po skopiowaniu z miejsca X na miejsce Y był ten Excel , który wcześniej skopiowałem w miejsce Y razem z całym folderem. Jak mogę to obejść?
Z góry dzięki za pomoc :)
ID posta: 308576 Skopiuj do schowka
 
 
Artik 



Wersja: Win Office 365
Pomógł: 3091 razy
Posty: 10240
Wysłany: 23-11-2016, 13:34   

Obserwuję tego typu tematy od jakiegoś czasu, ale nigdy nie znalazłem satysfakcjonującego mnie rozwiązania.
Poniżej kod, który u mnie działa (przynajmniej nie wywala błędu). Testowałem na pliku z tego postu. Po działaniu makra pola nie odświeżyły się automatycznie. Plik po ponownym otwarciu nadal miał problemy z odświeżaniem. Dopiero jak otworzyłem plik źródłowy polepszyło się.
Kod:
'http://answers.microsoft.com/en-us/msoffice/forum/msoffice_word-mso_other/changing-word-link-source-via-vba-resets-update/643d118a-a467-e011-8dfc-68b599b31bf5

Public Sub changeSource()
    Dim dlgSelectFile As FileDialog    'FileDialog object '
    Dim thisField   As Field
    Dim selectedFile As Variant
    'must be Variant to contain filepath of selected item
    Dim newFile     As Variant
    Dim fieldCount  As Integer    '
    Dim x           As Long
    On Error GoTo LinkError
    'create FileDialog object as File Picker dialog box
    Set dlgSelectFile = Application.FileDialog(FileDialogType:=msoFileDialogFilePicker)
    With dlgSelectFile
        .Filters.Clear    'clear filters
        .Filters.Add "Microsoft Excel Files", "*.xls, *.xlsb, *.xlsm, *.xlsx"    'filter for only Excel files
        'use Show method to display File Picker dialog box and return user's action
        If .Show = -1 Then
            'step through each string in the FileDialogSelectedItems collection
            For Each selectedFile In .SelectedItems
                newFile = selectedFile    'gets new filepath
            Next selectedFile
        Else    'user clicked cancel
            Exit Sub
        End If
    End With
    Set dlgSelectFile = Nothing
    'update fields
    With ActiveDocument
        fieldCount = .Fields.Count
        For x = 1 To fieldCount
            With .Fields(x)
                'Debug.Print x '
                'Debug.Print .Type
                If .Type = 56 Then
                    'only update Excel links. Type 56 is an excel link
                    '.LinkFormat.SourceFullName = newFile '
                    .Code.Text = Replace(.Code.Text, Replace(.LinkFormat.SourceFullName, "/", "//"), Replace(newFile, "/", "//"))
                    .Update
                    '.LinkFormat.AutoUpdate = True 'False
                    DoEvents
                End If
            End With
        Next x
    End With
    MsgBox "Source data has been successfully imported."
    Exit Sub
LinkError:
    Select Case Err.Number
        Case 5391    'could not find associated Range Name
            MsgBox "Could not find the associated Excel Range Name " & _
                   "for one or more links in this document. " & _
                   "Please be sure that you have selected a valid " & _
                   "Quote Submission input file.", vbCritical
        Case Else
            MsgBox "Error " & Err.Number & ": " & Err.Description, vbCritical
    End Select
End Sub
Makro uruchamiane z Word-a.

Artik
ID posta: 308642 Skopiuj do schowka
 
 
wanmic1
Fan Excela


Pomógł: 1 raz
Posty: 83
Wysłany: 13-02-2021, 00:28   

Dzień dobry,
Podłączam się do pytania, bo mam też taki problem i nie wiem jak to ugryźć :( Narobiłem się masakrycznie, bo przygotowałem około 30 różnych szablonów WORD, które są uzupełniane danymi z Excela i teraz muszę to co zrobiłem skopiować do innej lokalizacji dla kliku osób (żeby mogły z tego korzystać) i okazuje się, że łącza przy takim kopiowaniu pozostają nadal w pierwotnej lokalizacji i nie chcą działać... Jak to można rozwiązać ? Widzę, że post w tym temacie był pisany ponad 4 lata temu, to może pojawiło się już jakieś rozwiązanie ?

Będę wdzięczny za każdą pomoc... Może da się zrobić jakieś makro które podmieni łącze z pierwotnego na nowe w sposób hurtowy dla wszystkich dokumentów w danym folderze ?
ID posta: 400302 Skopiuj do schowka
 
 
Artik 



Wersja: Win Office 365
Pomógł: 3091 razy
Posty: 10240
Wysłany: 14-02-2021, 03:22   

wanmic1 napisał/a:
Widzę, że post w tym temacie był pisany ponad 4 lata temu, to może pojawiło się już jakieś rozwiązanie ?
Lenin nadal nie żyje. ;-)

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


Pomógł: 1 raz
Posty: 83
Wysłany: 17-02-2021, 20:26   

Dziękuję za odpowiedź. A czy znasz może jakiś inny sposób na automatyzację wpisywania wielu różnych danych do Worda ? Oprócz korespondencji seryjnej, bo to już znam i nie o to mi chodzi. Będę wdzięczny za jakieś wskazówki. Chcę zautomatyzować tworzenie wielu dokumentów w word, bo w każdym trzeba wklepywać i powielać dane a te dane znajdują się w różnych miejscach i na różnych stronach. Jak to sobie usprawnić ?
ID posta: 400569 Skopiuj do schowka
 
 
Rafał B.
Exceloholic



Wersja: Win Office 2016
Pomógł: 33 razy
Posty: 232
Wysłany: 17-02-2021, 23:52   

Widać, ze temat na czasie :-) Tutaj pokrótce opisałem sposób, który u mnie się bardzo dobrze sprawdza
:arrow: KLIK
_________________
Jest niemal niemożliwe nauczenie dobrego programowania uczniów, którzy byli narażeni na kontakt z BASIC: jako potencjalni programiści są okaleczeni, bez nadziei na poprawę. (Edsger Dijkstra, pionier informatyki).
Po części dotyczy również VBA.
ID posta: 400581 Skopiuj do schowka
 
 
wanmic1
Fan Excela


Pomógł: 1 raz
Posty: 83
Wysłany: 18-02-2021, 09:46   

Bardzo dziękuję, ale podobnie jak kolega "Leon M" nie mam na tyle dużej wiedzy z VBA, żeby to ogarnąć. Potrafię jedynie odrobinę zmodyfikować makro, które jest już stworzone. Szkoda, że WORD jest tak ograniczony, bo poświęciłem wiele godzin pracy, żeby sobie stworzyć szablony (około 30) i na koniec się okazało, że nie mogę kopiować i przenosić bo wszystko przestaje działać. Mega słabe - chyba napiszę do Billa Gates'a że zrobił bubel. Wystarczyłoby, żeby ścieżka do hiperłączy się aktualizowała po przeniesieniu pliku XLS do innej lokalizacji i tyle. Nie wydaje się to nadzwyczajnie skomplikowane.
ID posta: 400599 Skopiuj do schowka
 
 
wanmic1
Fan Excela


Pomógł: 1 raz
Posty: 83
Wysłany: 19-02-2021, 12:10   

Mam jeszcze takie pytanie: czy jest możliwe JEDNOCZESNE odświeżanie kilku dokumentów WORD, żeby się wypełniały danymi z Excela ? Bo trafiłem na kolejną ułomność tego programu, że jak otworzę powiedzmy 3 dokumenty WORD i zaznaczę na każdym CTRL + A to potem tylko na pierwszym z nich mogę kliknąć F9 (odświeżanie danych) a na pozostałych ta opcja jest zablokowana tak długo aż nie skończy się odświeżanie pierwszego dokumentu.
Nie wiem czy ktoś dobrze przemyślał te "automatyczne uzupełnianie danymi z Excela plików WORD", ale jeśli "automatyzacja" ma polegać na tym, że ja muszę czekać aż mi się aktualizuje 1 dokument i dopiero wtedy mogę wystartować z kolejnym, to to się w ogóle mija z celem... W taki sposób to dane można po prostu powklejać na piechotę do WORD-a... :( Czy jest na to jakieś rozwiązanie ?
dziękuję
ID posta: 400674 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