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下操作。