【问题标题】:How to add table captions in MS Word using macros如何使用宏在 MS Word 中添加表格标题
【发布时间】:2016-12-16 12:05:11
【问题描述】:

我正在尝试修改 MS Word 中 100 个现有表格的标题。为了避免这个繁琐的过程,我希望使用内置的 VB 宏功能。

如果我的表格在文档内容的部分内:

  1. 简介
    1.1 目标

我希望用“简介 - 目标”修改表格标题。如果表格标题已经是“表格 1-1”,我希望它阅读:

Table 1-1 Intro Goals

宏运行后,这可能吗?怎么样?

【问题讨论】:

  • 我们需要知道为此付出了哪些努力。你研究过吗?如果是这样,为什么没有帮助?你写了宏吗?如果不是,为什么?如果没有努力的证据,看起来您并没有尝试并希望我们为您编写代码,这是题外话。请参阅“How to Ask”、“Stack Overflow question checklist”和“MCVE”及其所有链接页面。

标签: vba ms-word macros caption


【解决方案1】:

下面的脚本是一个批处理过程,它对文件夹中的所有 Word 文件执行查找/替换例程。

Sub FindReplaceAll()
    Dim MyDialog As FileDialog, GetStr(1 To 100) As String 
'100 files is the maximum applying this code
    On Error Resume Next
Set MyDialog = Application.FileDialog(msoFileDialogFilePicker)
With MyDialog
        .Filters.Clear
        .AllowMultiSelect = True
        i = 1
        If .Show = -1 Then
            For Each stiSelectedItem In .SelectedItems
                GetStr(i) = stiSelectedItem
                i = i + 1
            Next
            i = i - 1
        End If
        Application.ScreenUpdating = False
        For j = 1 To i Step 1
Set Doc = Documents.Open(FileName:=GetStr(j), Visible:=True)
Windows(GetStr(j)).Activate
            Selection.Find.ClearFormatting
            Selection.Find.Replacement.ClearFormatting
            With Selection.Find
                .Text = "Marriott International" 'Find What
                .Replacement.Text = "Marriott" 'Replace With
                .Forward = True
                .Wrap = wdFindAsk
                .Format = False
                .MatchCase = False
                .MatchWholeWord = False
                .MatchByte = True
                .MatchWildcards = False
                .MatchSoundsLike = False
                .MatchAllWordForms = False
            End With
            Selection.Find.Execute Replace:=wdReplaceAll
Application.Run macroname:="NEWMACROS"
ActiveDocument.Save
            ActiveWindow.Close
        Next
        Application.ScreenUpdating = True
    End With
    MsgBox "operation end, please view", vbInformation
End Sub

' 想法来自这里。

'https://www.extendoffice.com/documents/word/1002-word-replace-multiple-files.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-16
    • 1970-01-01
    • 2015-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多