Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Word VBA获取选择(文本)背景色-但不高亮显示或着色_Vba_Ms Word - Fatal编程技术网

Word VBA获取选择(文本)背景色-但不高亮显示或着色

Word VBA获取选择(文本)背景色-但不高亮显示或着色,vba,ms-word,Vba,Ms Word,我有一个Word文档,它是通过将PDF文档保存为Word文档创建的。PDF文档中的某些文本以黄色突出显示。我需要检测突出显示的文本。我想转换不是完美的。Word文档中的某些文本显示为高亮显示,而有些文本仅具有黄色背景,但未显示为高亮显示。我可以选择一些文本,点击菜单上的突出显示按钮,它会显示突出显示的颜色,而对于一些单词,它不会显示任何颜色 如果我键入 ?selection.formattedtext.highlightcolorindex,对于某些选项我得到7,对于其他选项我得到0 对于那些未

我有一个Word文档,它是通过将PDF文档保存为Word文档创建的。PDF文档中的某些文本以黄色突出显示。我需要检测突出显示的文本。我想转换不是完美的。Word文档中的某些文本显示为高亮显示,而有些文本仅具有黄色背景,但未显示为高亮显示。我可以选择一些文本,点击菜单上的突出显示按钮,它会显示突出显示的颜色,而对于一些单词,它不会显示任何颜色

如果我键入

?selection.formattedtext.highlightcolorindex,对于某些选项我得到7,对于其他选项我得到0

对于那些未显示为高亮显示的选择,如何检测它们

更新:我选择了一个“突出显示”的单词并执行了调用选择。ClearFormatting和字体更改,但黄色突出显示仍然存在。因此,这告诉我黄色突出显示不是一种格式。我也没有选择任何颜色,文本被选中,黄色突出显示仍然保留。我已经确认它既不是高光也不是阴影。六羟甲基三聚氰胺六甲醚。。。是什么导致了这种突出

更新:我发现如果我删除了没有真正突出显示的“突出显示的文本”,则删除文本右侧的文本移到左侧,突出显示仍保留。然后我发现,如果高亮部分下没有文本,我可以选择高亮部分。然后我可以将突出显示拖动到页面的另一部分。因此,此高光是一个对象。如果我右键单击它,我有一些选项,比如格式化对象

现在我知道这些“高光”实际上就像物体一样。如果对象下没有文本,我可以抓取它并拖动它。如何使用VBA查找这些类型的对象


我真正想要的是突出显示对象下的整个段落。那可能吗?

嗯,我知道怎么做了。我用另一个问题来引导我找到答案

我正在Microsoft Word对象上从Microsoft Access运行此代码

Public Sub ReadWord2(strPath作为字符串)
'常数wdColorRed=255
Dim objWord作为对象
Dim objDoc作为Word.Document
作为字符串的Dim strParagraph
Dim intShapeCount为整数
像单词一样暗淡的形状
设置objWord=CreateObject(“Word.Application”)
objWord.Visible=True
设置objDoc=objWord.Documents.Open(strPath)
设置objSelection=objWord.Selection
intShapeCount=objDoc.Shapes.Count
'objDoc.Shapes.SelectAll
对于objDoc.Shapes中的每个形状
'如果Shape.AutoShapeType=1,则
形状。选择
'Debug.Print Shape.Fill.BackColor
'Debug.Print Shape.AutoShapeType,Shape.Name
'Debug.Print Shape.TextFrame.TextRange.Text
objSelection.展开段落
Debug.Print objSelection.Text,Shape.Fill.BackColor
"完"
下一个

结束子文件
没有屏幕截图很难说,或者你可以复制粘贴一些文本并撕碎文档文件?嗨,蒂姆。我不允许共享整个文件。我希望我能。但是,我确实分享了一个小屏幕截图,显示了所选的高光和大小手柄。