Word VBA 把一個Word文件中的內容通過字符串操作複製到另一個Word文件內(要求不允許出現空行)

Sub 宏1()
'
' 宏1 宏
'
    Documents.Open FileName:="D:\VBA\被插入文字的文件.docx", ConfirmConversions:=False, ReadOnly _
        :=False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate _
        :="", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="" _
        , Format:=wdOpenFormatAuto, XMLTransform:=""
    Selection.WholeStory

'
    Documents.Open FileName:="D:\VBA\待插入到另一個文件中的文字文件.docx", ConfirmConversions:=False, ReadOnly _
        :=False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate _
        :="", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="" _
        , Format:=wdOpenFormatAuto, XMLTransform:=""


    '選中所有的文字
    Selection.WholeStory





'回車符號
qhhc = Chr(13)

'把選中的文字賦值
ssstring_selection = Selection.Text

'設置默認數值爲1
ssstring_selection_n1 = 1


'下面是循環語句:do until    ...   loop,直到字符串的第一個字符爲回車符號。
'要求這樣的文章內,不出現單獨的回車符號空行才行。

Do Until ssstring_selection_n1 = 0

'算出字符串的長度
len11 = Len(ssstring_selection)

'用查找字符串函數instr,查找字符串中的第一個回車符號
ssstring_selection_n1 = InStr(ssstring_selection, qhhc)


'去除第一個回車符號(包括回車符)之前後,剩餘的字符串個數。
len12 = len11 - ssstring_selection_n1


'減去回車符號之後,左邊的字符個數
ssstring_selection_n1 = ssstring_selection_n1 - 1

'用left函數,取出左邊的字符串
temptext = Left(ssstring_selection, ssstring_selection_n1)

'只留下右邊的字符串。
ssstring_selection = Right(ssstring_selection, len12)

'如何temptext不等於空字符串,則
If temptext <> "" Then


Windows("被插入文字的文件.docx").Activate

ActiveDocument.Content.InsertAfter temptext

'把光標移動到文檔未尾,下一句爲進行回車。
Selection.EndKey Unit:=wdStory
Selection.TypeParagraph

End If

Loop


    ActiveWindow.Close
End Sub

要求:Word2007 或者 Word2010下操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章