Word VBA 把一个Word文件中的内容通过字符串操作复制到另一个Word文件内(要求不允许出现空行)

本文介绍了一种使用VBA宏在Word文档中批量插入文本的方法。通过打开目标文档和源文本文件,选取所有文本,识别并处理回车符,然后将处理后的文本逐段插入目标文档中,实现自动化文本插入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

在MATLAB中,虽然它主要用于数值计算和数据可视化,但你可以通过Microsoft Office Automation(如Word VBA)将生成的数据插入到Word文档中创建表格并添加章节说明。下面是简单的步骤描述: 1. 安装Microsoft Word Automation Object Library (早期版本名为Microsoft Word 12.0 Object Library)。如果你还没有安装,可以在VBA编辑器中选择“工具” -> “References”,然后查找并勾选该库。 2. 使用VBA在MATLAB中创建Word对象并打开文档: ```vba Dim wordApp As Object Set wordApp = CreateObject("Word.Application") wordApp.Visible = True ' 如果你想让Word窗口可见 Dim doc As Object Set doc = wordApp.Documents.Open("C:\path\to\your\document.docx") ' 替换为你想要打开的Word文件路径 ``` 3. 插入表格并将MATLAB数据填充进去: ```vba Dim tableRange As Range Set tableRange = doc.Tables.Add(doc.Content, 5, 3) ' 创建一个5行3列的表格 For i = 1 To tableRange.Rows.Count For j = 1 To tableRange.Columns.Count tableRange.Cells(i, j).Range.Text = '在这里填写从MATLAB获取的数据' Next j Next i ``` 这里假设你已经将MATLAB数据转换成了字符串格式。 4. 添加章节说明: ```vba Dim chapterTitle As String chapterTitle = "第一章: 数据概述" ' 替换为你需要的章节标题 doc.Sections(1).Headers Footers.Range.Text = chapterTitle ' 将标题设为第一部分的页眉或页脚 doc.Select ' 选中光标位置 doc.TypeParagraph '<--- 这里插入空行 doc.TypeText "这是对本章内容的简要说明..." ' 添加章节说明 ``` 记得替换上述代码中的`'...`部分为实际的章节标题、数据以及说明文字。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值