2014-03-13 10 views
4

我正在使用Outlook 2013,并试图在打开的邮件中查找黄色突出显示的文本,并更改​​突出显示的颜色。查找并更改现有邮件中的highlightcolor

我的眼睛很差,而且当高光颜色为黄色时,我无法区分突出显示的文本。绿色很好,蒂尔也是......所以我想改变它。

我做到了,在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 
+1

如何打开Word的一个实例,复制你的邮件内容到Word文档,改变突出显示在那里,然后复制回来?我并不是说这很优雅,但由于缺乏文档/备选方案,这可能是最快捷的方式。 –

+1

感谢Jean-François,但实际上,vba代码工作正常。我的错!我在一封实际收到的电子邮件中测试了Macro,意识到它没有被突出显示,但是它有一个黄色的背景色。 你可以想象我现在有多愚蠢...... 我没有找到一种方法来通过VBA来改变这种黄色的背景色...... – ericporlier

+0

够公平的!然后你可能想删除这个问题。 –

回答

1

我知道这个答案可能看起来有点偏离主题,但我正在寻求方法来有效地帮助你。我很抱歉听到你的眼睛很糟糕。 我建议切换到高对比度模式,而不是在特定的应用程序中调整颜色。

  • 这是给你的使用,不仅用于Outlook
  • 它是如何工作的所有应用程序的全栈解决方案:从我自己的眼睛不好的经验,在你的编程解决方案有几个优点使用显示颜色被迫相对狭窄一致的调色板,让所有预期的对比蹦出在Outlook

    • ,高亮颜色会从后台明确的区分,这是真正的大多数其他应用(这是你似乎效果是se )
    • ALL调色板的颜色可以自定义,它优于现代Windows颜色方案(Windows 7和8),例如,您不能将Windows的白色背景更改为另一种颜色(仅可能在与Windows 98的样子),经典的配色方案
      • 有在Windows 8中6种高对比度方案,你可以创建自己的
      • 唯一的颜色我会改变默认或者是的Windows背景按钮背景,因为它们被设置为相同的颜色并且如果区分他们,UI可以变得更加可读。我通常使用修改后的高对比度方案#1(深色)与Windows背景调整为RGB 60,60,60(十进制)。

  • 您可以轻松启用/按(left)Alt+Shift+PrtScr

  • 一些应用程序可能需要重新启动其所有的颜色正确适应高对比度模式禁用高对比度模式。问题在于他们。一些业余应用程序可能根本不支持高对比度模式。我尝试过的所有主要应用程序工作都相当好

      在大多数情况下
    • ,它是Web浏览器,需要重新启动,也让我们命名SQL Server Management Studio中
    • 的高对比度模式的预期特征是所有背景图片被删除实现更高的可读性的前景文本。但是,如果某些网页使用主控制角色的背景图像,则不会显示它们。例如,你不会看到给予好评/ downwote按钮在这个网站...

。用深色背景

  • 高对比度模式是理想甚至对人们健康的眼睛,夜间模式。我以这种方式使用它。晚上工作时,黑暗背景对眼睛更容易。想想外面黑暗的时候,汽车司机会将他们的导航装置切换成夜色。

如果这是没有帮助的,随意downwote :)