我正在开发一个项目,分析各种算法总结各种文本长度的程度。我有许多电子书格式化为我正在使用的Word文档。到目前为止,我只是复制并粘贴我想要每次测试的确切数字,这非常繁琐。
我对VBA不太熟悉,但经过研究似乎可能是一个选择。有没有办法让宏将长Word文档分成指定数字的块?例如,将前750个单词提取到新文档中。如果更容易,每750个单词后创建一个分页符也可以。
可能有更好的方法来解决这个问题,因此任何其他建议也会受到高度赞赏。
答案 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
它要求一个值,然后如果它是一个数字,试图从光标中选择那么多的单词。如果有足够的数据,则将它们复制到剪贴板。