Edit: I posted the main part of this response (below the line of asterisks), but then realized it is for text links, not linked pictures. I located the following link. The first response (from Cindy Meister) shows a solution for linked images:
https://social.msdn.microsoft.com/Fo...?forum=worddev
The following is my original posting, in case it has some relevance:
***************************
I don't think you can do that with embedded images, but it should be possible with linked images. There is also an option to link and embed, but I'm not sure quite how that works.
A while ago I came up with the following to list hyperlinks to a csv (text) file. I came up with some of it on my own, but I borrowed from other sources as well. Usually I attribute the code in the procedure header, but in this case I did not. My apologies to the author(s) -- I have no intent to claim their work as my own.
The Sub identifies hyperlinks both in the body of the document and in text boxes. I converted commas to the pipe character in the hyperlink address because it would otherwise treat the comma as a delimiter in the csv file. If you are using a txt file that won't be necessary, but I used csv so I could view in Excel.
I believe you need to create the destination (csv) file before you begin.
This code is in an Add-In. I call the sub from any open document, and it processes all files in the same folder.
Another option, I believe, is to convert to Word 2003 format and toggle the field codes, which will show you the path and file name. Word 2007+ seems to have dropped the ball here, or maybe it is by design, but if so the purpose is unclear.
Code:
Public Sub ExportToTextFile()
'
' ExportToTextFile Macro
Dim strOutput As String ' Output string
Dim strDoc As String ' Abbreviated name of document containing hyperlink
Dim strAD As String ' Active document name
Dim strA As String ' Hyperlink address
Dim strLoc As String ' Folder in which file is located
Dim strPath As String ' Folder containing documents to be processed
Dim strFile As String
Dim strLink As String
Dim myDoc As Document
Dim h As Hyperlink
Dim aShape As Shape
Dim intProt As Integer ' Protection type of current document
Dim n As Integer
On Error GoTo ExportToTextFile_Error
strPath = _
ActiveDocument.Path
strLoc = _
Mid(strPath, InStrRev(strPath, "\") + 1)
strPath = _
strPath & "\"
n = _
FreeFile()
' Close all open documents before beginning
Documents.Close SaveChanges:=wdPromptToSaveChanges
Open "C:\MyFolder\Links.csv" For Append As #n
Print #n, strLoc
' Set the directory and type of file to process
strFile = _
Dir$(strPath & "*.doc")
While strFile <> ""
' Open document
Set myDoc = _
Documents.Open(strPath & strFile)
strAD = _
ActiveDocument.Name
intProt = _
myDoc.ProtectionType
If intProt <> -1 Then
myDoc.Unprotect
End If
' Find hyperlinks in text boxes
For Each aShape In ActiveDocument.Shapes
If aShape.TextFrame.HasText Then
For Each h In aShape.TextFrame.TextRange.Hyperlinks
strA = _
h.Address
strA = _
Replace(strA, ",", "|")
If Len(strA) > 0 Then
strDoc = _
Left(strAD, InStr(strAD, "(") - 2)
strOutput = _
"Text box, " & strDoc & ", " & strA & ", " & h.Range.Information(wdActiveEndPageNumber)
Print #n, strOutput
End If
Next h
End If
Next aShape
' Find hyperlinks in document body
For Each h In ActiveDocument.Hyperlinks
strA = _
h.Address
strA = _
Replace(strA, ",", "|")
If Len(strA) > 0 Then
strDoc = _
Left(strAD, InStr(strAD, "(") - 2)
strOutput = _
"Document, " & strDoc & ", " & strA & ", " & h.Range.Information(wdActiveEndPageNumber)
Print #n, strOutput
End If
Next h
' Close the document; save changes in case Word thinks it's necessary
With myDoc
.Protect (intProt)
.Close SaveChanges:=wdSaveChanges
End With
' Next file in folder
strFile = _
Dir$()
Wend
Close #n
ProcExit:
Exit Sub
ExportToTextFile_Error:
MsgBox "Error " & Err.Number & " (" & Err.Description & ") " & _
"in ExportToTextFile" & " " & h.Address & "; " & h.Range.Information(wdActiveEndPageNumber)
Resume ProcExit
End Sub