如何在 Word 中创建生成文本/公式文本

如何在 Word 中创建生成文本/公式文本

我通常使用一个特定的模板,其标题格式如下;

[Section Name] -- 10 min -- 0:00 to 0:10
[Section Name 2] -- 15 min -- 0:10 to 0:25
and so on...

我希望第二个“--”后面的部分能够自动生成。也就是说,它将确定它之前的部分花费了多长时间。然后使用它来输入开始和结束。(就像引用前一个单元格的 excel 公式的强大功能一样。)

文本应与标题一致并采用相同的格式。

最后,我想说——Total time: 160 min

我认为我需要使用 VBA 来执行此操作,但我不知道从哪里开始。我本以为这会是 Microsoft Word 的一个常见问题/需求,但我找不到任何人问过类似的问题。

答案1

以下 vba 脚本在以“yourStyle”样式格式化的每个段落中搜索分钟数(第一个“--”之后)。然后它将从 - 到添加到每行的末尾,并将总持续时间(以分钟为单位)添加到文档末尾。

Sub InsertText()

Dim Parag As Paragraph
Dim t0 As Double
t0 = TimeValue("0:00:00")

For Each Parag In ActiveDocument.Paragraphs
    With Parag.Range
        If .Style = "yourStyle" Then
            minutes = TimeValue("00:" + Split(Right(.Text, Len(.Text) - InStr(.Text, "--") - 2))(0) + ":00")
            .Collapse wdCollapseEnd
            .Move wdCharacter, -1
            .InsertAfter (" -- " + Format(t0, "h:nn") + " to " + Format(t0 + minutes, "h:nn"))
            t0 = t0 + minutes
        End If
    End With
Next

Selection.EndKey wdStory, wdExtend
Selection.TypeParagraph
Selection.TypeText (Format(t0, "n") + " minutes")

End Sub

相关内容