我正在编辑一本有大量图片的大型图书文档。我在文本中有许多部分,其中的字段与此类似:
{INCLUDEPICTURE "C:\\book\\NikonD5500\\chapter_1-129.jpg" \d}
我正在尝试运行正则表达式查找和复制,它将在两个大括号{}之间找到任何短语并将其粘贴到其他文档中。理想情况下,我只需要像“chapter_1-129.jpg”这样的图片名称(等等)作为列表。
答案 0 :(得分:1)
您可以运行一个简单的VBA宏来迭代文档中的所有字段,如下所示:
Option Explicit
Sub ListImageFields()
Dim oField As Field
Dim oDocSource As Document
Dim oDocTarget As Document
Dim result As String
For Each oField In ActiveDocument.Fields
If oField.Type = wdFieldIncludePicture Then
result = result & GetPictureSourceFromFieldCode(oField.code) & vbCrLf
End If
Next
Set oDocTarget = Documents.Add
oDocTarget.Range.Text = result
End Sub
Function GetPictureSourceFromFieldCode(ByVal fieldCode As String) As String
Dim startIndex As Integer
Dim endIndex As Integer
startIndex = InStr(fieldCode, """") + 1
endIndex = InStrRev(fieldCode, """")
GetPictureSourceFromFieldCode = Mid(fieldCode, startIndex, endIndex - startIndex)
End Function