加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何使用Range对象读取VB.net中单词(* .doc)文件中复选框的值?

发布时间:2020-12-17 07:27:17 所属栏目:百科 来源:网络整理
导读:如何使用范围对象读取VB.net中单词(* .doc)文件中复选框的值? 这是我到目前为止: Dim app As New Word.ApplicationDim doc As Documentdoc = app.Documents.Open("C:myDoc.doc")dim chkBox as BookmarkchkBox = doc.Bookmarks("MyCheckbox")Dim rng as Ra
如何使用范围对象读取VB.net中单词(* .doc)文件中复选框的值?

这是我到目前为止:

Dim app As New Word.Application
Dim doc As Document
doc = app.Documents.Open("C:myDoc.doc")
dim chkBox as Bookmark
chkBox = doc.Bookmarks("MyCheckbox")
Dim rng as Range
rng = chkBox.Range

其中“MyCheckbox”是word文档中复选框的书签.

解决方法

您是否有任何特殊原因使用复选框本身的名称来读取复选框的值?

如果您的书签定义的范围包含一个复选框,那么,根据复选框的插入方式,它将在InlineShapes集合中找到(如果与文本内联插入的复选框)或Shapes集合(如果作为浮动对象插入) .)

然后,您需要遍历Shapes或InlineShapes的集合,以查找相关的复选框.

迭代InlineShapes集合中的控件

Dim ctl As InlineShape
For Each ctl In rng.InlineShapes
    If ctl.Type = wdInlineShapeOLEControlObject Then
        If ctl.OLEFormat.ClassType Like "Forms.CheckBox*" Then
            'current version of ctl is a checkbox,do what you will with it.

        End If
    End If
Next ctl
...

这应该让你更接近,但如果复选框的名称是可预测的,最好直接通过名称来解决它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读