Beste,
ik heb een word document met een groot aantal links naar een excel file.
Na het aanpassen van de excel, wordt het word document automatisch geupdate.
Op zich heel handig, echter, meerdere mensen maken gebruik van deze excel/word combinatie.
Wat gebeurt er :
De excel file en het word document worden gekopieerd vanaf een centrale plek naar een folder waar de documenten bewerkt gaan worden. De documenten worden hernoemd, waarna de excel file wordt aangepast.
Vervolgens wordt het word document geopend, waar alle links nog steeds verwijzen naar de excel file op de centrale locatie. Nu heeft word geen nette/handige methode om al deze links snel aan te passen naar de hernoemde excel file. (met shift+F9 en replace, kom je een heel eind, maar dit is voor een hoop mensen die met de excel/word werken te ingewikkeld)
Om deze reden gaat het aanpassen van de verwijzing naar deze links met behulp van de volgende macro :
Deze macro update echter niet de links in de headers en de footers en ik heb eigenlijk geen idee welke commando's ik moet aanroepen om dit wel voor elkaar te krijgen.
Weet iemand hoe ik het updaten van de links naar het hernoemde bestand in headers en footers in deze macro kan meenemen?
Mijn dank zou groot zijn.
OPGELOST! Voor uitwerking, zie onderste post!
ik heb een word document met een groot aantal links naar een excel file.
Na het aanpassen van de excel, wordt het word document automatisch geupdate.
Op zich heel handig, echter, meerdere mensen maken gebruik van deze excel/word combinatie.
Wat gebeurt er :
De excel file en het word document worden gekopieerd vanaf een centrale plek naar een folder waar de documenten bewerkt gaan worden. De documenten worden hernoemd, waarna de excel file wordt aangepast.
Vervolgens wordt het word document geopend, waar alle links nog steeds verwijzen naar de excel file op de centrale locatie. Nu heeft word geen nette/handige methode om al deze links snel aan te passen naar de hernoemde excel file. (met shift+F9 en replace, kom je een heel eind, maar dit is voor een hoop mensen die met de excel/word werken te ingewikkeld)
Om deze reden gaat het aanpassen van de verwijzing naar deze links met behulp van de volgende macro :
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
| Public Sub File_Update()
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
'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
fieldCount = ActiveDocument.Fields.Count
For x = 1 To fieldCount
'Debug.Print x
'Debug.Print ActiveDocument.Fields(x).Type
If ActiveDocument.Fields(x).Type = 56 Then 'only update Excel links. Type 56 is an excel link
ActiveDocument.Fields(x).LinkFormat.SourceFullName = newFile
'DoEvents
End If
Next x
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 |
Deze macro update echter niet de links in de headers en de footers en ik heb eigenlijk geen idee welke commando's ik moet aanroepen om dit wel voor elkaar te krijgen.
Weet iemand hoe ik het updaten van de links naar het hernoemde bestand in headers en footers in deze macro kan meenemen?
Mijn dank zou groot zijn.
OPGELOST! Voor uitwerking, zie onderste post!