2017-02-12 83 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 

它要求的值,然後,如果它是一個數字嘗試從遊標選擇很多的詞。如果有足夠的話,將它們複製到剪貼板。

相關問題