编程词典
明日图书
明日软件
用户注册
用户登录
站内
  当前位置:编程词典服务网 >> 编程词典社区论坛 >> 统计Word文档空格数
  · 统计Word文档空格数

用户:  明日科技
发帖:  417 篇
作品:  1 个
回复:  2 篇
技术分:  805 分
等级:  
注册:  2009-09-07 06:37:23



发表于:2010-06-11 08:43:16
          楼主

虽然是求的字符数量,其实也可以求出空格的数量,实例实现步骤如下:

1)创建一个基于对话框的应用程序,设置对话框标题为“统计Word文档中的空格数量”。

2)向对话框中添加3个静态控件、一个编辑框控件和一个按钮控件。界面布局如图1所示。



1  界面设计

3)在应用程序类(CCountSpaceApp)的InitInstance函数中初始化COM环境,代码如下。

::CoInitialize(NULL);

4)按<Ctrl+W>组合键打开类向导,向工程中添加_Application类、Documents类和_Document类。并为控件关联变量,如图2所示。



2  类向导

5)在CCountSpaceDlg类中应用需要使用的头文件,代码如下。

#include "msword9.h"

#include "atlbase.h"

#include <comdef.h>

6)处理“打开”按钮的单击事件,在该事件的处理函数中,通过文件打开对话框获得选择的Word文档路径,并将打开文档,计算空格数量,代码如下。

void CCountSpaceDlg::OnButopen()

{

        CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,

                "All Files(*.doc)|*.doc||",AfxGetMainWnd());                                                            //构造文件打开对话框

        CString strPath;                                                                                                                             //声明变量

        if(dlg.DoModal() == IDOK)                                                                                               //判断是否按下"打开"按钮

        {

                strPath = dlg.GetPathName();                                                                                     //获得文件路径

                m_Path.SetWindowText(strPath);                                                                     //显示文件路径

                _Application app; 

                Documents docs;

                _Document doc;

                CComVariant a (_T(strPath)),b(false),c(0),d(true);

                //初始化连接

                app.CreateDispatch("word.Application");

                docs.AttachDispatch(app.GetDocuments());

                doc.AttachDispatch(docs.Add(&a,&b,&c,&d));

                long num = doc.ComputeStatistics(5,&_variant_t((bool)FALSE))

                        - doc.ComputeStatistics(3,&_variant_t((bool)FALSE));                                    //计算空格数

                CString str;

                str.Format("空格数:%d",num);

                m_Space.SetWindowText(str);

               

                docs.ReleaseDispatch();

                doc.ReleaseDispatch();

                app.ReleaseDispatch();

        }

}

运行程序,效果如图3所示。



 

 

3  运行结果

本帖赏分:0 分   回复数:0 篇     下载附件
修改   删除   引用   回复
该帖暂无回复!
吉林省明日科技有限公司提供技术支持. 
Copyright © 1999-2008 吉林省明日科技有限公司. 吉ICP备10002740
当前时区 GMT+8, 今天是 
刷新页面 - 关于我们 - 设为首页