【问题标题】:Regex for a Microsoft Word search用于 Microsoft Word 搜索的正则表达式
【发布时间】:2015-04-23 09:19:56
【问题描述】:

我正在编辑一个包含大量图片的大型书籍文档。我在文本中有许多部分的字段类似于:

{INCLUDEPICTURE  "C:\\book\\NikonD5500\\chapter_1-129.jpg" \d}

我正在尝试运行正则表达式查找和复制,它将找到两个大括号 {} 之间的任何短语并将其粘贴到其他文档中。理想情况下,我只需要像“chapter_1-129.jpg”(等等)这样的图片名称作为列表。

【问题讨论】:

  • 您似乎忘记在问题中包含问题。

标签: regex image search ms-word field


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-02
    相关资源
    最近更新 更多