我正在使用Outlook 2013,并尝试在已打开的邮件中查找黄色突出显示的文本,并更改突出显示颜色。
我的眼睛很糟糕,当高亮颜色为黄色时,我无法区分高亮显示的文字。绿色很好,Teal也是......所以我希望改变它。
我在Word 2013中做过。
Sub changer_jaune() 'change_yellow()
Dim txt_hl As Range
With Selection.Find
.Highlight = True
.Forward = True
.Wrap = wdFindContinue
While .Execute
Set txt_hl = Selection.Range
If txt_hl.HighlightColorIndex = wdYellow Then
txt_hl.HighlightColorIndex = wdTeal 'wdTurquoise
' dark : wdTeal wdGreen
' too dark : wdViolet wdBlue
End If
Wend
End With
End Sub
然后,我试图让它在Outlook中运行:
Sub change_jaune_PR_COPIE()
Dim objItem As Object
Dim objInsp As Outlook.Inspector
'Reference the current Outlook item
Set objItem = Application.ActiveInspector.CurrentItem
If Not objItem Is Nothing Then
If objItem.Class = olMail Then
Set objInsp = objItem.GetInspector
If objInsp.EditorType = olEditorWord Then
'I switch to Edit Mode to be able to change the opened incoming mail
'I would like to check for this before switching... But I don't know how...
objInsp.CommandBars.ExecuteMso ("EditMessage")
Set objDoc = objInsp.WordEditor
Set objWord = objDoc.Application
Set objSel = objWord.Selection
With objWord.Selection.Find
.Highlight = True
.Forward = True
.Wrap = wdFindContinue
'While .Execute
Set txt_hl = objWord.Selection.Range
If txt_hl.HighlightColorIndex = wdYellow Then
txt_hl.HighlightColorIndex = wdTeal 'wdTurquoise
' dark : wdTeal wdGreen
' too dard : wdViolet wdBlue
End If
'Wend
End With
End If
End If
End If
'Saving the changes on this specific mail (which actually never occurs!!!)
objItem.Save
Set objItem = Nothing
Set objWord = Nothing
Set objSel = Nothing
Set objInsp = Nothing
End Sub
它没有用。
While .Execute
无法识别。它正确
End With
答案 0 :(得分:1)
我知道这个答案可能看起来有些偏离主题,但我正在寻求有效帮助你的方法。我很遗憾听到你的眼睛非常糟糕。 我建议切换到高对比度模式,而不是在特定应用程序中调整颜色。根据我自己的坏眼睛经验,它比程序化解决方案有几个优点:
它是如何工作的:使用过的显示颜色被强制为相对狭窄的一致调色板,因此所有预期的对比都会突然出现
您可以通过按(left)Alt+Shift+PrtScr
某些应用程序可能需要重新启动才能将所有颜色正确调整为高对比度模式。问题在于他们自己。一些业余应用程序可能根本不支持高对比度模式。我试过的所有主要应用程序都运行得相当好。
如果这没有帮助,请随意下载:)