加载中…
个人资料
文人不等于知识分子
文人不等于知识分子
  • 博客等级:
  • 博客积分:0
  • 博客访问:4,875
  • 关注人气:291
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

搜索语料的宏代码

(2007-11-06 15:14:14)
标签:

知识/探索

拙作《语言研究方法导论》中有一个查找语料用例的宏,在该书中我让读者去我的websamba网页下载,但是我最近发现websamba网站工作不太正常,常常处于无法连接状态,因此我把该宏程序的源代码贴在这里,使用方法我在书中已经做了详细说明,请参考。


Public Sub Finder()

'声明原始变量

Dim a$  '记录所要搜索的字符串

Dim count_ '记录字符串出现的次数

'使用通配符

Selection.Find.ClearFormatting

    With Selection.Find

        .Text = ""

        .Replacement.Text = ""

        .Forward = True

        .Wrap = wdFindAsk

        .Format = False

        .MatchCase = False

        .MatchWholeWord = False

        .MatchByte = False

        .MatchAllWordForms = False

        .MatchSoundsLike = False

        .MatchFuzzy = False

        .MatchWildcards = True

    End With

    Selection.Find.Execute

    '光标移至文档开始

Selection.HomeKey Unit:=wdStory

'显示输入对话框,将需要搜索的字符串赋给变量a$

a$ = WordBasic.[InputBox$]("查找一个词并将上下文复制在文挡2上。请填入欲找的词", "查找")

WordBasic.EditFind Find:=a$

'开始搜索操作循环

While WordBasic.EditFindFound()  '如果发现目标,则开始下面的操作

      count_ = count_ + 1       '计数器加一

      WordBasic.SentRight 1     '下面三句:选中字符串所在的一行

      WordBasic.SentLeft 1

      WordBasic.SentRight 1, 1

      WordBasic.EditCopy         '复制该行入剪贴板

      WordBasic.NextWindow       '将焦点 转移至下一个Word文档

      WordBasic.Insert "  "      '插入 两个空格

      WordBasic.EditPaste        '粘贴剪贴板的内容

      WordBasic.InsertPara       '换行

      WordBasic.NextWindow       '回到原来的Word文档

      WordBasic.CharLeft 1

      WordBasic.CharRight 1

      WordBasic.SentRight 1

      WordBasic.EditFind

Wend  '循环结束

'在文档中输出搜索结果

WordBasic.NextWindow   '将焦点 转移至下一个Word文档

WordBasic.InsertPara   '换行

WordBasic.Insert "[包含"      '以下七句:输出字符串出现的次数

WordBasic.Insert "" + Chr(-24144) + ""

WordBasic.Insert a$

WordBasic.Insert "" + Chr(-24143) + ""

WordBasic.Insert "的句子出现次数:"

WordBasic.Insert Str(count_)

WordBasic.Insert "]"

WordBasic.NextWindow   '将焦点 转移至下一个Word文档

End Sub

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有