+ -
当前位置:首页 → 问答吧 → 批量合并文档的代码

批量合并文档的代码

时间:2003-05-11

来源:互联网

82eLjuLh.rar (594 Bytes)
82eLjuLh.rar (594 Bytes)
批量合并文档的代码
下载次数: 94
2003-5-11 16:40
这篇贴子与后一篇是相关联的.注意:两篇贴子都是VBS脚本,不是VBA程序几乎所有的制版排版软件都支持文本文件(*.txt)的导入,而且,现在许多杂志在征稿时,也都要求电子稿件使用文本文件的格式。当一个文件夹下存有大量文本文件时,作为Office一族,你怎样来提高自己的工作效率?这个时候,一个小小的脚本程序往往会给我们带来很大的方便。下文是笔者针对自己的实际工作所编写的两个小脚本,是否实用,大家请试一下。声明两点:1、本文所举的两个脚本只支持文本文件(*.txt)格式,如果要在Word中运行,可以稍做修改,运用到Word的VBA中;2、脚本已进行了详细的注释,就不再对其做其它的说明了。好,下面请看脚本!脚本二:合并批量文本文件编写原因:一个文件夹下有上百篇文档是常有的事,如果在Word中去执行“插入——文件”的操作,将是十分的低效的事。本脚本将一次性合并文件夹下的所有文档。一点说明:本脚本仅限于对文本文件的合并。如果您要对*.doc文档进行合并的话,可将本程序修改一下用在Word的VBA当中.笔者也编写了一个在VBA进行合并的宏,但文件数量如果太多,就很容易造成资源耗尽而死机.合并大批量Word文档的最佳办法就只能使用dos下的copy命令了.'——合并文件.VBS——'定义变量Option ExplicitDim c,d,hb,bc,fso, f, f1, s, sf,m'定义常量const ForAppending=8const ForReading=1'程序主体部分hb=inputbox("请输入您要合并的文件所在的文件夹。")bc=inputbox("请输入合并后您要保存的文件名"&"(请使用文本文件的后缀*.txt)"&"及其路径。")Set fso = CreateObject("Scripting.FileSystemObject")'创建一个文件系统对象。Set f = fso.GetFolder(hb)'定义一个文件夹对象'(你刚才输入的文件夹)。Set m = fso.CreateTextFile(bc,ForAppending,True)'定义一个文件对象’(你刚才输入的文件名)。Set sf = f.files'准备遍历该文件夹。For Each f1 in sfcall AAA'调用子过程。nextsub AAA'子过程AAAOn Error Resume Next'设置错误陷阱。Set c = fso.Opentextfile(f1,ForReading)'打开文件夹中顺序索检出的文件。d = c.ReadAll'读取该文件中的内容。m.Write d'把内容写入您命名的文件中。end sub'结束程序。提高我们办公效率的一个重要的方法就是不断地学习。比如在“拼写检查”脚本中,对于程序中调用的Word的组件,就可以在Word的VBA帮助文件中找到详细的说明。“脚本”其实就是Windows环境下的批处理,而VBScript可以说是编写这种批处理的最简单的脚本语言。我想,如果大家花上一、两周的时间学习一下VBScript的话,就一定能编写出更多的方便我们工作的小脚本来。希望看到朋友们编写的其它的实用脚本。

[此贴子已经被作者于2003-5-11 19:50:52编辑过]

作者: 七叶一枝梅   发布时间: 2003-05-11

还可以将这个代码和下面那个合并在一起执行.

作者: 七叶一枝梅   发布时间: 2003-05-12

我想看看如何合并文本文件

作者: dengzengfeng   发布时间: 2009-09-19

学习中。。。。

作者: aguang5111   发布时间: 2010-12-07