Como posso criar texto gerado / fórmula na palavra

0

Eu costumo trabalhar em um modelo específico que um título que é formatado como este;

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

Eu gostaria que a parte após o segundo '-' fosse gerada automaticamente. Assim como, determinará por quanto tempo as seções anteriores foram realizadas. E depois use isso para começar e terminar. (Como o poder de uma fórmula excel referenciando células anteriores.)

O texto deve estar alinhado com o título e formatado da mesma maneira.

Também no final, gostaria de dizer- Total time: 160 min

Estou pensando em usar o VBA para fazer isso, mas não sei por onde começar. Eu teria pensado que isso seria um problema / desejo comum com o Microsoft Word, mas não consigo encontrar ninguém perguntando algo semelhante.

    
por user606723 26.07.2017 / 20:44

1 resposta

0

O seguinte script vba procura os minutos (após o primeiro "-") em cada parágrafo formatado pelo estilo "yourStyle". Em seguida, adiciona de - até o final de cada linha e adiciona a duração total em minutos ao final do documento.

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
    
por 27.07.2017 / 12:08