Nazwa łącza zmiany makra Excel VBA


Mam makro programu Excel, które potrzebuję, aby przygotować plik do innej procedury, która jest wykonywana codziennie. Przygotowanie to polega na zmianie odniesień z pliku t-1 do pliku t0.
Kod, który zwykle robię to:
ActiveWorkbook.ChangeLink Name:= _
"file path", NewName:=new_file_path, Type:=xlExcelLinks

Mój problem polega teraz na tym, że w przypadku tej konkretnej procedury ścieżka do pliku, który ma zostać zmieniony na nową procedurę, nie zawsze jest taka sama, więc potrzebuję sposobu na zautomatyzowanie wyszukiwania bieżących odniesień, aby zastąpić je wszystkie. Nowa ścieżka do pliku Jestem teraz, ponieważ jest to arkusz roboczy, który wywołuje tę procedurę i otwiera ten plik, więc pierwszą rzeczą, którą robię, jest
new_file_path = "C:\...."& ActiveWorkbook.Name & ".xlsm"

Pomaga mi to, że istnieje sztuczka polegająca na zastąpieniu wszystkich linków nowymi bez konieczności podawania nazwy/ścieżki starych linków. Ktoś wie?
podziękować
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Aby zmienić wszystkie łącza programu Excel w skoroszycie, wypróbuj następującą procedurę:
Sub WbThs_ChangeLink_Excel()
Dim wbTrg As Workbook
Dim sLinkNew As String
Dim aLinks As Variant, vLink As Variant sLinkNew = "@@VBA Links Replace - Target 3.xlsb" 'Change as required Set wbTrg = ThisWorkbook 'Change as required Rem Set array with all excel links
aLinks = ActiveWorkbook.LinkSources(xlExcelLinks) Rem Replace each excel Link
If Not IsEmpty(aLinks) Then
For Each vLink In aLinks
wbTrg.ChangeLink Name:=vLink, NewName:=sLinkNew, Type:=xlExcelLinks Next: End If End Sub

Więcej informacji na temat używanych zasobów można znaleźć na następujących stronach:
Workbook.ChangeLink (Excel
https://msdn.microsoft.com/en- ... excel
)
Workbook.LinkSources (Excel
https://msdn.microsoft.com/en- ... excel
)
Wyliczenie XlLink (Excel
https://msdn.microsoft.com/en- ... excel
)

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się