ROSTCM6

1. http://www.writewords.org.uk/word_count.asp
2. http://darylkinsman.ca/tools/wordfreq.shtml
3. http://www.wordcounter.com/

VBA macro of    word

Sub ChineseCharCounting()
        '统计汉字的字词频,并按降序排序
        '中文词语的判断与Word的词典关联
        Dim a As Byte
        Dim n As Long
        Dim TF As Boolean
        Dim filetext As String
        Dim d
        Dim Wd As Range
        Dim W As Range
        Dim b
        Dim e As Long
        Dim c() As String
        Dim i As Long
        Dim temp As String
        Dim st As Single
       
        a = MsgBox("词频统计请按“是”,字频统计请按“否”", vbYesNo, "中文字词频统计")
        st = Timer
        Application.ScreenUpdating = False
        n = ActiveDocument.Content.ComputeStatistics(wdStatisticFarEastCharacters)
        If ActiveDocument.Content.Text Like "*[【】〖〗《》〈〉〔〕]*" Then TF = True
        With ActiveDocument.Content.Find
            .Text = "[【】〖〗《》〈〉〔〕]"
            .MatchWildcards = True
            .Execute Replace:=wdReplaceAll
        End With
        Set d = CreateObject("Scripting.Dictionary")
        If a = vbYes Then
            For Each Wd In ActiveDocument.Words
                With Wd
                    If .Start < e Then .Start = e
                    e = .End
                    If .Text Like "*[一-龥]*" And Len(.Text) > 1 Then
                        If .Text Like "*[!一-龥]*" = False And .Words.Count = 1 Then
                            d(.Text) = d(.Text) + 1
                        Else
                            For i = 1 To Len(.Text)
                                If Mid(.Text, i, 1) Like "[!一-龥]" Then Exit For
                            Next
                            With .Duplicate
                                .End = .Start + i - 1
                                For Each W In .Words
                                    With W
                                        If Len(.Text) > 1 Then
                                            If Right(.Text, 1) Like "[!一-龥]" Then .End = .End - 1
                                            If .Text Like "*[!一-龥]*" = False Then d(.Text) = d(.Text) + 1
                                        End If
                                    End With
                                Next
                            End With
                        End If
                    End If
                End With
            Next
        Else
            filetext = ActiveDocument.Content.Text
            For i = 1 To Len(filetext)
                temp = Mid(filetext, i, 1)
                If temp Like "[一-龥]" Then d(temp) = d(temp) + 1
            Next
        End If
        b = d.keys
        ReDim c(UBound(b))
        For i = 0 To UBound(b)
            c(i) = b(i) & vbTab & d(b(i))
        Next
        If TF = True Then ActiveDocument.Undo 1
       
        With Documents.Add.Content
            .Text = "文档共有" & n & "个中文字符。共提取到" & d.Count _
                & IIf(a = 6, "个中文词语", "个不同的汉字") & ",其出现次数分别为:" & vbCrLf & Join(c, vbCrLf)
            .Parent.DefaultTabStop = .Characters.First.Font.Size * 6
            .MoveStart wdParagraph
            .Sort , 2, wdSortFieldNumeric, wdSortOrderDescending, 1, , , , , , wdSortSeparateByTabs
        End With
        MsgBox "提取完毕。用时" & Format(Timer - st, "0") & "秒。"
        Application.ScreenUpdating = True
    End Sub

词频统计 in office的更多相关文章

  1. python瓦登尔湖词频统计

    #瓦登尔湖词频统计: import string path = 'D:/python3/Walden.txt' with open(path,'r',encoding= 'utf-8') as tex ...

  2. 作业3-个人项目<词频统计>

    上了一天的课,现在终于可以静下来更新我的博客了.       越来越发现,写博客是一种享受.来看看这次小林老师的“作战任务”.                词频统计 单词: 包含有4个或4个以上的字 ...

  3. C语言实现词频统计——第二版

    原需求 1.读取文件,文件内包可含英文字符,及常见标点,空格级换行符. 2.统计英文单词在本文件的出现次数 3.将统计结果排序 4.显示排序结果 新需求: 1.小文件输入. 为表明程序能跑 2.支持命 ...

  4. c语言实现词频统计

    需求: 1.设计一个词频统计软件,统计给定英文文章的单词频率. 2.文章中包含的标点不计入统计. 3.将统计结果以从大到小的排序方式输出. 设计: 1.因为是跨专业0.0···并不会c++和java, ...

  5. 软件工程第一次个人项目——词频统计by11061153柴泽华

    一.预计工程设计时间 明确要求: 15min: 查阅资料: 1h: 学习C++基础知识与特性: 4-5h: 主函数编写及输入输出部分: 0.5h: 文件的遍历: 1h: 编写两种模式的词频统计函数: ...

  6. Hadoop上的中文分词与词频统计实践 (有待学习 http://www.cnblogs.com/jiejue/archive/2012/12/16/2820788.html)

    解决问题的方案 Hadoop上的中文分词与词频统计实践 首先来推荐相关材料:http://xiaoxia.org/2011/12/18/map-reduce-program-of-rmm-word-c ...

  7. pyspark进行词频统计并返回topN

    Part I:词频统计并返回topN 统计的文本数据: what do you do how do you do how do you do how are you from operator imp ...

  8. 使用storm分别进行计数和词频统计

    计数 直接上代码 public class LocalStormSumTopology { public static void main(String[] agrs) { //Topology是通过 ...

  9. jieba库分词词频统计

    代码已发至github上的python文件 词频统计结果如下(词频为1的词组数量已省略): {'是': 5, '风格': 4, '擅长': 4, '的': 4, '兴趣': 4, '宣言': 4, ' ...

随机推荐

  1. Asp.Net之后台载入JS和CSS

    在Asp.Net开发时,用到的JS库.通用的CSS等,在很多页面都会用到,而每次都须要手动引入.相当麻烦.并且有时一旦忘了引用,还得找半天才干找到问题.那有没有什么办法可以一劳永逸的呢?答案是有的. ...

  2. Python的可变对象与不可变对象。

    参考:http://thomaschen2011.iteye.com/blog/1441254          Python基础:Python可变对象和不可变对象 http://blog.jobbo ...

  3. console.log()注意事项。

    console.log常因不明原因在IE9出现SCRIPT5009: 'console' is undefined (console未被定义) 错误! IE9说console变量未定义? 但F12打开 ...

  4. 【复杂】CentOS 6.4下PXE+Kickstart无人值守安装操作系统

    一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持 ...

  5. mysql数据库不能远程访问的问题

    1.先暂停防火墙,检查是不是防火墙的问题. 2. 如若不是防火墙的问题,则可能是用户权限的问题. 这里创建一个用户来用于远程连接:首先登陆你的mysql数据库 命令: mysql -uroot -p ...

  6. ASP.NET MVC传递参数(model), 如何保持TempData的持久性

    一看到此标题,相信你也会.因为路由是可以从URL地址栏传过去的. 但是Insus.NET不想在地址栏传递,还是一个条件是jQuery的Ajax进行POST的.Insus.NET不清楚别人是怎样处理的, ...

  7. OpenCV学习:OpenCV源码编译(vc9)

    安装后的OpenCV程序下的build文件夹中,只找到了vc10.vc11和vc12三种编译版本的dll和lib文件,需要VS2010及以上的IDE版本,而没有我们常用的VS2008版本. 于是,需要 ...

  8. 【Android开发】如何设计开发一款Android App

    本文从开发工具选择,UI界面.图片模块.网络模块.数据库产品选择.性能.安全性等几个方面讲述了如果开发一个Android应用.现在整理出来分享给广大的Android程序员. 开发工具的选择 开发工具我 ...

  9. 什么是LTE?

    LTE是英文Long Term Evolution的缩写.LTE也被通俗的称为3.9G,具有100Mbps的数据下载能力,被视作从3G向4G演进的主流技术.它改进并增强了3G的空中接入技术,采用OFD ...

  10. ActiveMQ内存配置和密码设置

    1.配置内存 bin中activemq.bat 中的第一行 加上 : REM 配置内存 set ACTIVEMQ_OPTS=-Xms1G -Xmx1G 2.修改控制台密码 1.打开conf/jetty ...