请问如何利用VBA判断一段Word文字是否有批注对象?
时间:2009-04-14
来源:互联网
打算录制宏,结果右键无法选择编辑批注:(
作者: yumail312 发布时间: 2009-04-14
引用:
原帖由 yumail312 于 2009-4-14 11:21 发表rt。请问如何利用VBA来判断选中的一段word文字是否存在关联的批注对象?如果有,如何获取该批注对象?谢谢!
打算录制宏,结果右键无法选择编辑批注:(
Dim myRange As Range
Dim oComment As Comment
Set myRange = Selection.Range
If myRange.Comments.Count > 0 Then
For Each oComment In myRange.Comments
Debug.Print oComment.Range.Text
Next
End If
End Sub
作者: 守柔 发布时间: 2009-04-14
在excel中获取所选的有批注的word文字后,得到的批注数始终是0
with myFile.Windows.Application.Selection
i = .Comments.Count
end with
作者: yumail312 发布时间: 2009-04-14
引用:
原帖由 yumail312 于 2009-4-14 14:37 发表谢谢答复。如果在word中这段应该没有问题,问题是我从excel的VBA中获取word的批注似乎有问题。
在excel中获取所选的有批注的word文字后,得到的批注数始终是0
with myFile.Windows.Application.Selection
...
您说了在Excel中说Word吗?myFile.Windwos.Application是哪个程序的呢?看来遇到高手了。
作者: 守柔 发布时间: 2009-04-14
目的是想通过Excel选中了一段Word的文字,要判断这段文字是否有关联的批注。
现在已经可以选中一段需要的文字,确实也有批注,但是count返回是0。不得其解,请版主告知,谢谢!
作者: yumail312 发布时间: 2009-04-14
引用:
原帖由 yumail312 于 2009-4-14 20:38 发表看来版主误会了,是我的问题没说清楚。sorry
目的是想通过Excel选中了一段Word的文字,要判断这段文字是否有关联的批注。
现在已经可以选中一段需要的文字,确实也有批注,但是count返回是0。不得其解,请版主告知 ...
'请在EXCEL VBE 工具/引用中勾选对于 MS Word的引用(Microsoft Word 11.0 Object Library)
Dim myRange As Word.Range
Dim oComment As Word.Comment
Set myRange = Word.Selection.Range
If myRange.Comments.Count > 0 Then
For Each oComment In myRange.Comments
Debug.Print oComment.Range.Text
Next
End If
End Sub
附件

2009-4-15 06:16
作者: 守柔 发布时间: 2009-04-15
WordBasic.AnnotationEdit
Word.Selection.MoveLeft Unit:=wdSentence, Count:=1, Extend:=wdExtend
Word.Selection.TypeText text:="123"
Word.Selection.EscapeKey
但是这样会有个问题,如果查找到的文字本身无批注(有时候需要对无批注的内容自动增加批注),调用到WordBasic.AnnotationEdit后会直接退出程序,请问如何解决啊?是否有WordBasic命令或其他方法能判断当前选择内容有无批注呢?多谢!
[ 本帖最后由 yumail312 于 2009-4-17 15:27 编辑 ]
作者: yumail312 发布时间: 2009-04-17
引用:
原帖由 yumail312 于 2009-4-17 15:23 发表谢谢版主的帮助。已经选择了word对象库。现在在Excel通过find查找到一段有批注的文字并选中后,通过Word.selection.Range获取到一个Word.Range对象。但是返回的Range.Comments.Count始终是0,郁闷啊!就是不知道为什 ...
楼主,您如果愿意的话,把你的EXCEL上传,或者把你的全部代码上传一下,行不?
问题不是代码,问题是你的思路。
作者: 守柔 发布时间: 2009-04-17

结果呢?
作者: sobne 发布时间: 2009-04-22
作者: 三戒 发布时间: 2009-04-23
在excel的vba环境使用 WdApp.Selection.Comments.count,得到的也是0.
在word中查看是有批注的。
在word的vba环境使用Selection.Comments.count,得到的也是0.
作者: sandwich 发布时间: 2011-08-10
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28