如何搜索word文档中的字体

braversmmu 2003-03-18 01:06:13
我想用vb处理word文档,下面代码中的那一行“.Name = 黑体”,我打算只用它搜索中文黑体字,但实际上没有达到效果,连中文宋体字都搜到了。是不是字符集的问题,还是其它问题,请高手指点一下。


Private Sub DivideByFontInfo()
'程序功能:获取目前word文档中字号最大的段落,并打印出来
Dim nMaxSize As Integer
Dim colFoundItems As New Collection
'Dim textCurrent As Variant
Dim rngCurrent As Word.Range
Dim intFindCounter As Integer
Dim findtag As Integer
findtag = 0
nMaxSize = 42 '初号字
Selection.HomeKey Unit:=wdStory, Extend:=wdMove
Selection.Find.ClearFormatting
While 1
With Selection.Find
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
With .Font
.Size = nMaxSize
.Bold = True
.Name = 黑体
'这里的Name属性是针对英文而言的,那么对于中文应该如何表示?
'在这里指定黑体,实际上不起作用,英文就没有黑体

End With
.Execute

Do While .Found = True
findtag = 1
intFindCounter = intFindCounter + 1
colFoundItems.Add Selection.Range, CStr(intFindCounter)
.Execute
Loop
If findtag = 1 Then
GoTo label
Else
nMaxSize = nMaxSize - 1
End If
End With
Wend
label: For Each rngCurrent In colFoundItems
MsgBox "最高标题的内容依次为:" & CStr(rngCurrent.Text)
Next rngCurrent

End Sub
...全文
337 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
braversmmu 2003-03-18
  • 打赏
  • 举报
回复
呵呵,这样修改后查到的是宋体,没有找到黑体
fkh21l 2003-03-18
  • 打赏
  • 举报
回复
Name = "Times New Roman"
braversmmu 2003-03-18
  • 打赏
  • 举报
回复
我基本上搞明白了,好了,给分!
braversmmu 2003-03-18
  • 打赏
  • 举报
回复
对了,我上面说的意思是在标题样式中出现黑体。
你说的在普通正文中出现黑体是适用的。但是在标题样式中出现黑体就不行。
braversmmu 2003-03-18
  • 打赏
  • 举报
回复
加了。

.Name = "Arial"
可以只找到黑体
.Name = "Times New Roman"
可以只找到宋体

不知道怎么回事?
fkh21l 2003-03-18
  • 打赏
  • 举报
回复
对了,我看了一下,你那边好像没有加引号,你刚才加上引号了吗????
fkh21l 2003-03-18
  • 打赏
  • 举报
回复
不可能啊,要不就是你机子上没有这种字体了,还有你一定要黑体吗,
字体加粗行不行。其实那两种我都试过,在我机子上都可行啊,这样的
话,实在不无能为力了。不好意思!!
braversmmu 2003-03-18
  • 打赏
  • 举报
回复
谢谢!
但是我试了一下,还是不行
braversmmu 2003-03-18
  • 打赏
  • 举报
回复
to fkh21l:
不行
fkh21l 2003-03-18
  • 打赏
  • 举报
回复
还不行的话就试试这个:
.NameFarEast = "黑体"
.Name = "黑体"
fkh21l 2003-03-18
  • 打赏
  • 举报
回复
.Name = "黑体"
braversmmu 2003-03-18
  • 打赏
  • 举报
回复
有的
lxcc 2003-03-18
  • 打赏
  • 举报
回复
那究竟有没有黑体!

2,503

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧