2017-02-12 58 views
0

我正在研究一个项目,分析各种算法如何很好地总结不同长度的文本。我有一些格式化为我正在使用的Word文档的电子书。到目前为止,我只是复制和粘贴每次我想测试的确切数量的单词,这非常单调乏味。是否可以将文本分隔成指定长度的块?

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

对此可能有更好的方法,所以任何其他建议也将非常感激。

+0

你想要在他们自己的文档中的每个X字的部分? –

+0

可能不是全部一次,作为每个部分的新文档将创建太多的文档。基本上我需要能够将x个单词粘贴到算法中,从而将一个文档中的前x个单词抽出并将它们移动到一个新文档中。由于我试图总结多个50多页的文档,因此手动计算出确切的单词数量太乏味了。 –

+0

所以你想要一个宏,将光标后面的下一个x个单词复制到剪贴板? –

回答

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 

它要求的值,然后,如果它是一个数字尝试从游标选择很多的词。如果有足够的话,将它们复制到剪贴板。

相关问题