注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

濟寬餘語

天空是一樣的,而多變;洞窟是不一樣的,卻難變。(本博客日誌未注出處者皆系原創)

 
 
 

日志

 
 

濟寬之宏(二):字符集提取和字頻統計  

2011-10-13 20:03:42|  分类: 數碼生活 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Sub 字符集提取和字频统计()
'
    TEXT0 = ActiveDocument.Range  '将当前文档作为一个字符串赋值给变量TEXT0。
    TEXT0 = Replace(TEXT0, " ", "")  '删除空格符。
    TEXT0 = Replace(TEXT0, vbTab, "")  '删除制表符。
    TEXT0 = Replace(TEXT0, vbCrLf, "")  '删除人工换行符。
    TEXT0 = Replace(TEXT0, Chr(10), "")  '删除换行符。
    TEXT0 = Replace(TEXT0, Chr(13), "")  '删除回车符。
    ActiveDocument.Range.Text = TEXT0  '更新源文件。
    MyWinName = ActiveDocument.Name
    ActiveDocument.SaveAs FileName:=MyWinName & "-副本.txt", _
            FileFormat:=wdFormatText, AddToRecentFiles:=True
   
    ZIFU_ = 0  '设置已处理字符数计数器。
    TEXT1 = ""
   
    Do While ActiveDocument.Characters.count > 1 '当文档不只包含一个字符时:
        TEXT1 = ActiveDocument.Characters(1)  '将当前文档第一个字符赋值给变量TEXT1。
        COUNT_ = 0  '初始化字频统计计数器。
        Selection.HomeKey Unit:=wdStory
        With Selection.Find
            .Execute findText:=TEXT1, MatchCase:=True, Format:=True, _
                    Forward:=True, Wrap:=wdFindStop
            .ClearFormatting
            While .Found = True
                Selection.Delete
                COUNT_ = COUNT_ + 1  '更新字频统计计数器。
                .Execute findText:=TEXT1, MatchCase:=True, Format:=True, _
                        Forward:=True, Wrap:=wdFindStop
           Wend
        End With
       
        ReDim Preserve ShuZu3(ZIFU_ + 1)  '定义动态数组3,使其元素个数比已处理字符多1。
        ShuZu3(ZIFU_) = TEXT1 & vbTab & COUNT_ & Chr(13)  '将已处理字符和字频统计结果以段落形式赋值给动态数组3的一个新元素。
        ZIFU_ = ZIFU_ + 1  '更新已处理字符数计数器。
    Loop
   
    Documents.Add '打开新窗口
    Selection.TypeText Text:=Join(ShuZu3, "") '输入数组3的所有元素,不用空格分隔。
    ActiveDocument.SaveAs FileName:=MyWinName & "-字符集.txt", _
            FileFormat:=wdFormatText, AddToRecentFiles:=True
   
    MSGTEXT = "当前文件共有 " & ZIFU_ & " 个字符。"
    MSGNum = MsgBox(MSGTEXT, vbInformation, "字符集提取和字频统计")
    ActiveDocument.Range.InsertBefore MSGTEXT & Chr(13) & Chr(13)
    '在当前文件区域前面插入文本MSGTEXT。

End Sub

  评论这张
 
阅读(174)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017