ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 10865|回复: 18

[求助] 超多rtf文件合并遇到麻烦

[复制链接]

TA的精华主题

TA的得分主题

发表于 2007-12-16 10:12 | 显示全部楼层 |阅读模式

请教各位朋友

我大概有600多个rtf文件,我想合并到一个文件里面去

我用插入文件的方法合并

但是只合并了前面的几十个文件

请问这是为什么?

有没有比较好点的方法可以自动完成?

非常感谢

TA的精华主题

TA的得分主题

发表于 2007-12-16 10:26 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
QUOTE:
以下是引用flyrob在2007-12-16 10:12:46的发言:

请教各位朋友

我大概有600多个rtf文件,我想合并到一个文件里面去

我用插入文件的方法合并

但是只合并了前面的几十个文件

请问这是为什么?

有没有比较好点的方法可以自动完成?

非常感谢

欢迎flyrob!

类似这种问题,使用主控文档比较好,在主控文档下(大纲视图中),以子文档方式插入这些RTF文件(每次插入一个)。

主控文档请参考:

http://club.excelhome.net/viewthread.php?tid=272710&px=0

如果你对文件格式要求不是很严格,并且这些文件名具有规律的话,可以通过VBA的方式完成文件的插入(相当于插入/文件)。

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-12-16 10:39 | 显示全部楼层

感谢版主的解答

想请教的是

为什么我插入子文档的时候,每次不能太多?
如果我想简单点一次就全部搞定
如何来解决
版主介绍的VBA,因为我没接触过VBA,要我自己写个VBA,短时间内难度有点大
版主能否帮忙解决下
非常感谢

ps:我要合并的rtf文档名都有规律,是从1.rtf开始到 600.rtf结束

[此贴子已经被作者于2007-12-16 10:40:50编辑过]

TA的精华主题

TA的得分主题

发表于 2007-12-16 12:10 | 显示全部楼层
QUOTE:
以下是引用flyrob在2007-12-16 10:39:45的发言:

感谢版主的解答

想请教的是

为什么我插入子文档的时候,每次不能太多?
如果我想简单点一次就全部搞定
如何来解决
版主介绍的VBA,因为我没接触过VBA,要我自己写个VBA,短时间内难度有点大
版主能否帮忙解决下
非常感谢

ps:我要合并的rtf文档名都有规律,是从1.rtf开始到 600.rtf结束


去年曾为某个网友做了一个,现在找不到了。

请确认你的文件名,然后我编一个VBA。

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-12-16 12:25 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

我要合并的rtf文档的文件名为

1.rtf 2.rtf ......600.rtf

非常感谢

TA的精华主题

TA的得分主题

发表于 2007-12-16 12:42 | 显示全部楼层
QUOTE:
以下是引用flyrob在2007-12-16 12:25:51的发言:

我要合并的rtf文档的文件名为

1.rtf 2.rtf ......600.rtf

非常感谢

匆匆做了一个,请测试一下:

'* +++++++++++++++++++++++++++++
'* Created By SHOUROU@ExcelHome 2007-12-16 12:41:25
'
仅测试于System: Windows NT Word: 11.0 Language: 2052
'
0287^The Code CopyIn [ThisDocument-ThisDocument]^'
'*
-----------------------------

Option Explicit
Option Compare Binary
Sub InsertFiles()
    Dim MyDialog As FileDialog, vrtSelectdeItem As Variant, Doc As Document
    Dim oFile As Variant, myArray() As String, N As Integer, i As Integer, j As Integer
    Dim TempA As String, myRange As Range
    '    On Error Resume Next
    '
检查是否为空

    '
定义一个文件夹选取对话框
    Set MyDialog = Application.FileDialog(msoFileDialogFilePicker)
    With MyDialog
        .Filters.Clear    '
清除所有文件筛选器中的项目
        .Filters.Add "
所有 WORD 文件", "*.doc;*.rtf", 1    '增加筛选器的项目为所有WORD文件
        .AllowMultiSelect = True    '
允许多项选择
        If .Show = -1 Then    '
确定
            For Each oFile In .SelectedItems    '
在所有选取项目中循环
                ReDim Preserve myArray(N)
                myArray(N) = oFile
                N = N + 1
                '                Set Doc = Documents.Open(FileName:=vrtselecteditem, Visible:=False)
            Next
        End If
    End With
    N = N - 2
    For i = 0 To N - 1
        For j = i + 1 To N
            If myArray(i) > myArray(j) Then
                TempA = myArray(j)
                myArray(j) = myArray(i)
                myArray(i) = TempA
            End If
        Next j
    Next i
    For Each oFile In myArray
        '        Debug.Print oFile
        With ActiveDocument.ActiveWindow.Selection
            .InsertFile FileName:=oFile, ConfirmConversions:=False
            .InsertParagraphAfter
            .InsertBreak Type:=wdSectionBreakNextPage
            .Collapse Direction:=wdCollapseEnd
        End With
    Next
End Sub
'----------------------


TA的精华主题

TA的得分主题

 楼主| 发表于 2007-12-16 13:00 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

感谢版主

测试成功

非常感谢

不过合并后是一个文档一页

由于我每个文档的内容非常少,一般都是1-2行

不知道能否不搞成一个文档一页?再次感谢

TA的精华主题

TA的得分主题

发表于 2007-12-17 05:45 | 显示全部楼层
QUOTE:
以下是引用flyrob在2007-12-16 13:00:57的发言:

感谢版主

测试成功

非常感谢

不过合并后是一个文档一页

由于我每个文档的内容非常少,一般都是1-2行

不知道能否不搞成一个文档一页?再次感谢

删除代码中的这句就可以了:

 .InsertBreak Type:=wdSectionBreakNextPage

TA的精华主题

TA的得分主题

发表于 2007-12-28 00:03 | 显示全部楼层

我也要合并,怎么运行上面的VBA?

TA的精华主题

TA的得分主题

发表于 2007-12-28 07:07 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
QUOTE:
以下是引用iceriverrun在2007-12-28 0:03:56的发言:

我也要合并,怎么运行上面的VBA?

1:你的Word必须要允许宏运行,即工具/宏/安全性设置为低,然后重启Word.

2:打开附件,单击常用工具栏中的第1个按钮“开始合并文件”命令。

z4kjLWJl.rar (9.05 KB, 下载次数: 128)


您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-23 02:35 , Processed in 0.040906 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表