是否可以将文本分成指定长度的块?

时间:2017-02-12 22:38:14

标签: vba excel-vba word-vba excel

我正在开发一个项目,分析各种算法总结各种文本长度的程度。我有许多电子书格式化为我正在使用的Word文档。到目前为止,我只是复制并粘贴我想要每次测试的确切数字,这非常繁琐。

我对VBA不太熟悉,但经过研究似乎可能是一个选择。有没有办法让宏将长Word文档分成指定数字的块?例如,将前750个单词提取到新文档中。如果更容易,每750个单词后创建一个分页符也可以。

可能有更好的方法来解决这个问题,因此任何其他建议也会受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

这个怎么样:

Sub CopyWords()
    Dim InputString As String
    Dim Words As Integer
    Do
        InputString = InputBox("How many words?", "CopyWords")
        If InputString = "" Then Exit Sub
        Words = Val(InputString)
        If Words = 0 Then MsgBox "You can't have """ & InputString & """ words!"
    Loop While Words = 0
    Selection.MoveRight Unit:=wdWord, Count:=Words, Extend:=wdExtend
    If Selection.Range.ComputeStatistics(wdStatisticWords) < Words Then
        MsgBox "There aren't " & InputString & " words available from this point"
    Else
        Selection.Copy
    End If
End Sub

它要求一个值,然后如果它是一个数字,试图从光标中选择那么多的单词。如果有足够的数据,则将它们复制到剪贴板。