Word VBA 把一個Word檔案中的內容通過字串操作複製到另一個Word檔案內(要求不允許出現空行)
阿新 • • 發佈:2018-12-16
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下操作。