当前位置 > 首页 > Office

microsoft word与microsoft excel联合批处理操作的问题

6/20/2011 5:02:00 AM来源:Office

有这样一个项目,大约要生成12万4千个word文档,1万3千个excel文档。

它们之间有这样的关系:

1:对word文档,它里面有很多内容是可以固定不动的,如“发展理念”“设计依据”等等内容,每个只需要替换“基本概况”“规划说明”等章节,对每个word文档来说都有固定的名字,比如a0001,我想问如果基本概况在第二个word文档中,规划说明在第三个文档中,文件名分别是a0001-01,a0002-02,以此类推。有没有一种什么办法可以准备好一个标准的word文档,它就可以自动读取其他的文档,然后来生成所需要的12万4千个word文档。

具体说就是这样:标准文档文件名为a.docx,有一个excel文件,记录所有的12万4千个文档的名字,还有一个很大的文件夹,里面分别是与excel文档中记录的文件名相对应的word文档,但都加有后缀,如00001-01.docx,00001-02.docx,00001-03.docx,00002-01.docx,00002-02.docx,00002-03.docx,在标准文件a.docx读取了这些文件之后,应该生成两个docx文档,分别是a00001.docx和a00002.docx,但是对于标准文档来说,分别替换了原有文档中的第一部分、第二部分和第三部分。

2:在所有的word文档中需要替换某些数据,这些数据需要由excel生成,请问有没有方法定义word文档中的数据可以跟随excel的变更自动变更?更进一步,有没有方法可以让前一步生成的12万4千个word文档根据自身的文件名来读取对应的1万3千个excel文档中的对应位置?比如a00001.docx这个word文档就知道自己读取一个文件名叫a.xlsx的excel文档中的一个名为00001的sheet中的某个单元格数据来替换自身定义好的某个位置的数据;一个叫c09527.docx的自然知道去读c.xlsx中的09527工作表中的对应位置。(因为一个excel中有很多sheet,所以1万3千个excel对应着12万4千个word,同时需要替换的单元格数据,在每个word文档中也许有上百个)

3:与上一个问题类似,在word中还有些表格,目前的做法是在excel中选中那些表格,然后ctrl+c,然后到word中ctrl+v来操作的,有没有办法让这个过程自动化,word可以自己找到excel中的表格自动替换(不是单元格数据,是有着几个横行几个竖列的表格)

4:假设有一个excel,记录着12万4千个文件名,每个单元格中是这样的内容:a00001,a00002,b00001,b00004,c02046,c02012,excel程序在读取了这个记录着文件名的excel文档后,可以自动生成文件名为a.xlsx,b.xlsx,c.xlsx的文件,同时这些文件中自动生成名为00001,00002,02046,02012的工作表,最后还能在每个excel文档的所有工作表之后生成一个叫“综合”的工作表。

5:在那个叫综合的工作表中,某些单元格中的数据是对同文档中之前所有工作表对应位置单元格数据的加和(也可能是其他运算),但是对每一个excel文档来说,工作表的数量是不同的,有的也许只是从00001到00006,但是有的也许00001到00010,而且在真实的情况中,命名也不是使用顺序数字的,而是使用中文名称,比如村落名或者姓名。请问在这种情况下,那个叫“综合”的工作表如何自动判断该操作哪些工作表中的单元格?

6:如果根据条件定义某个单元格中的符号?比如在综合那张工作表中,某个单元格判断之前的某个工作表中的某个单元格,如果那个单元格中的数据等于零,怎此单元格中填一个空心圈符号;如果大于零,则填一个实心圈符号。同时在“综合”的工作表中,可以根据之前的所有工作表来自动生成一些表格。比如在之前的每个工作表中有一个数据和项目对应的表,项目名称竖排,分别是a、b、c、d等,旁边数列就是对应的数据。在综合表中自动生成一个横行由工作表名称生成的行,数列为a、b、c、d等命名的列组成的矩阵,矩阵交叉处的单元格内容由每个工作表中那个项目名称旁边的列对应的数字来决定(比如等于零为空心圈,大于零为实心圈。)需要注意的是,每个excel文档中的工作表数量是不同的,名称是不同的(项目名称相同)

==============================================================

问题比较复杂,不知道microsoft office工具有没有办法把这一dirty work变成一件稍微轻松一些的工作(实际上还是有大量的工作需要手工完成,比如12万4千个工作表中,每个工作表里面都有大约30个数据需要手工填)

其实还可以更自动化一些,不过那就涉及到microsoft office工具和autodesk cad工具的联合了,我估计这会非常复杂,绝对超过我的能力。(比如让excel工作表根据自身文档名和工作表名来读取对应名称的cad文件,根据自身单元格的设置来读取cad文件中某个工作层中的几何体属性值,比如a.xlsx文档中的00001工作表中的A20单元格自动读取一个名为a00001.dwg文件中的名为road的图层中的一条样条曲线的length属性值;名为B15的单元格自动读取a00001.dwg文件中的plan图层中的闭合样条曲线的area属性数值)

我自己的能力:只会word和excel的基本操作,能看懂和写很简单的批处理文件,但是复杂的就不会了;没有编程背景,完全不会编程,但是给出代码的范例的话,知道改参数,比如文件绝对路径、相对路径之类的东西。

不知道以上问题有没有办法解决;不知道即使有办法解决,是不是我的能力范围所及的。

谢谢了。