MS Word中隐藏文本框的未知状态

铱52

我正在创建一组宏,以清理和重新格式化特定的MS Word文档。当我遇到一个隐藏的文本框时,我通过循环遍历Word文档标题中的文本框开始,尽管我通过其他任何方式都无法在该文档中找到该文本框。

问题中的文本框在文档中不可见,除了文档中的位置,内容和顺序略有差异外,我无法将其与VBA中的其他文本框区分开。我可以读取和写入其属性,甚至可以“选择”它,但是我无法在文档中看到它,也无法通过VBA将其与其他文本框区分开。

我想做的是能够通过VBA来确定此神秘文本框与其他可见文本框之间的区别,除了位置,内容和顺序属性。我希望能够找到“隐藏”文本框并将其删除,问题是我无法确定哪个是“隐藏”文本框。

我创建了仅具有神秘文本框和一个其他常规文本框的文档的按比例缩小版本,并将其上传到此处的Dropbox上,它在标题中具有2个文本框,并通过以下代码启用了宏功能:

Option Explicit

Sub findTextBox()

    Dim objShapeCount As Integer
    Dim objShapes As Shapes
    Dim state As MsoTriState
    Dim i As Integer

    Set objShapes = ActiveDocument.Sections(1).Headers(wdHeaderFooterFirstPage).Shapes
    objShapeCount = objShapes.Count
    Debug.Print "Number of shapes: " + CStr(objShapeCount)

        For i = objShapeCount To 1 Step -1
        If objShapes(i).Type = msoTextBox Then
            'Texbox found
            objShapes(i).Select
            MsgBox objShapes(i).TextFrame.TextRange
            'Debug everything
            Debug.Print "Type: " + CStr(objShapes(i).Type)
            Debug.Print "Name: " + CStr(objShapes(i).Name)
            Debug.Print "Height: " + CStr(objShapes(i).Height)
            Debug.Print "Width: " + CStr(objShapes(i).Width)
            Debug.Print "Left: " + CStr(objShapes(i).Left)
            Debug.Print "Top: " + CStr(objShapes(i).Top)
            Debug.Print "Id: " + CStr(objShapes(i).ID)
            objShapes(i).Visible = 1 'C'mon! Show me!
            Debug.Print "Invisible: " + CStr(state = objShapes(i).Visible) 'Crap
            Debug.Print "Z Order: " + CStr(objShapes(i).ZOrderPosition)
            Debug.Print "Background: " + CStr(objShapes(i).BackgroundStyle)
        End If

    Next i

End Sub

谁能找到一种通过VBA与众不同的方法?提前致谢。

更新:

在花了几天的时间弄清楚这个混乱之后,我得出的结论是,这个神秘的文本框要么是一个旧的损坏的文本框,要么是无法从其他软件正确导入的东西。

基于此前提,根据最近添加的文本框(具有较高Z顺序的文本框)是客户端所需的文本框的逻辑,我正在使用Z顺序分隔具有相同属性的任意两个文本框。使用。

到目前为止,这已经解决了,虽然不是万无一失,但是这就是我要做的所有事情。宏运行后,所有文档都经过校对,因此应捕获所有错误。

我仍然愿意接受其他建议,但是暂时将继续讨论。

铱52

我终于(不小心)找到了缺少的文本框。它存在于第一页标题中。可以通过更改布局标签上的页面设置并选中“第一页不同”来看到

即使此文档没有首页标题,文本和文本框仍可以在那里存在,并且在设置更改时不会被删除。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MS / Word隐藏文本和模板

来自分类Dev

仅允许MS Access在文本框中输入字母

来自分类Dev

Tkinter:在 Tkinter 中单击左侧的文本框时自动滚动文本框。类似于 MS Word 中的导航窗格

来自分类Dev

MS Word 2013:如何更改哪个文本框位于另一个文本框的顶部?

来自分类Dev

如何在MS Word的页面边框前面放置一个文本框?

来自分类Dev

如何在Ms word中将文本框对齐成一条直线?

来自分类Dev

使用JavaScript隐藏文本框

来自分类Dev

MS Access填充文本框和组合框

来自分类Dev

MS Word中的隐藏格式符号

来自分类Dev

MS访问,在VBA中编写查询,并在文本框中显示结果

来自分类Dev

IF AND语句在MS WORD中

来自分类Dev

MS Access:如何用查询绑定表格的文本框?

来自分类Dev

Javascript根据文本框值从MS Access检索值

来自分类Dev

根据单选按钮选中状态动态隐藏文本框

来自分类Dev

在Python的MS Paint中创建一个文本框

来自分类Dev

如何在MS Access中通过VBA填充文本框?

来自分类Dev

将MS Access表单中的文本框设置为数组?

来自分类Dev

不允许在所有文本框中输入特定字母以用于MS Access

来自分类Dev

MS Access:如何在筛选的搜索中筛选多个字段(文本框)

来自分类Dev

VBA MS Access在文本框中更改值的范围为2个字符

来自分类Dev

在文本框中继续循环以从数据库,MS Access中搜索多个值

来自分类Dev

使用循环从表中选择多个记录以填充MS Access中的未绑定文本框

来自分类Dev

将MS Access表单中的文本框设置为数组?

来自分类Dev

不允许在所有文本框中输入特定字母以用于MS Access

来自分类Dev

将查询记录计数到MS Access中的文本框

来自分类Dev

将文本框中的数据保存到 MS Access 数据库

来自分类Dev

MS Word 2010中的文本变量?

来自分类Dev

MS Word宏替换列表中的文本

来自分类Dev

jQuery datepicker-如何在datepicker文本框中隐藏文本?

Related 相关文章

  1. 1

    MS / Word隐藏文本和模板

  2. 2

    仅允许MS Access在文本框中输入字母

  3. 3

    Tkinter:在 Tkinter 中单击左侧的文本框时自动滚动文本框。类似于 MS Word 中的导航窗格

  4. 4

    MS Word 2013:如何更改哪个文本框位于另一个文本框的顶部?

  5. 5

    如何在MS Word的页面边框前面放置一个文本框?

  6. 6

    如何在Ms word中将文本框对齐成一条直线?

  7. 7

    使用JavaScript隐藏文本框

  8. 8

    MS Access填充文本框和组合框

  9. 9

    MS Word中的隐藏格式符号

  10. 10

    MS访问,在VBA中编写查询,并在文本框中显示结果

  11. 11

    IF AND语句在MS WORD中

  12. 12

    MS Access:如何用查询绑定表格的文本框?

  13. 13

    Javascript根据文本框值从MS Access检索值

  14. 14

    根据单选按钮选中状态动态隐藏文本框

  15. 15

    在Python的MS Paint中创建一个文本框

  16. 16

    如何在MS Access中通过VBA填充文本框?

  17. 17

    将MS Access表单中的文本框设置为数组?

  18. 18

    不允许在所有文本框中输入特定字母以用于MS Access

  19. 19

    MS Access:如何在筛选的搜索中筛选多个字段(文本框)

  20. 20

    VBA MS Access在文本框中更改值的范围为2个字符

  21. 21

    在文本框中继续循环以从数据库,MS Access中搜索多个值

  22. 22

    使用循环从表中选择多个记录以填充MS Access中的未绑定文本框

  23. 23

    将MS Access表单中的文本框设置为数组?

  24. 24

    不允许在所有文本框中输入特定字母以用于MS Access

  25. 25

    将查询记录计数到MS Access中的文本框

  26. 26

    将文本框中的数据保存到 MS Access 数据库

  27. 27

    MS Word 2010中的文本变量?

  28. 28

    MS Word宏替换列表中的文本

  29. 29

    jQuery datepicker-如何在datepicker文本框中隐藏文本?

热门标签

归档