2017-12-08 3 views
0

내 인터넷 검색 기술이 하위 수준이기 때문에 확실하지만 지난 시간 동안 찾지 못한 해결책을 찾은 적이 있습니다.Outlook 2013 VBA : 모든 텍스트를 선택하고 철자법을 바꾸는 방법은 무엇입니까?

내가 입력하는 이메일의 전체 텍스트를 선택하고 맞춤법을 변경하는 짧은 매크로가 필요합니다. 다음은 Word에서는 작동하지만 Outlook에서는 작동하지 않습니다. 또한 도구 -> 참조 -> VBA 편집기 창에서 Microsoft 워드 15 개체 라이브러리를 추가했습니다. 생각? 감사!

Selection.WholeStory 
Selection.LanguageID = wdEnglishUK 
Selection.NoProofing = False 
Application.CheckLanguage = False 

답변

1

하나의 응용 프로그램의 VBA 언어에 특정한 메서드 및 속성은 다른 응용 프로그램에서 사용할 수 없습니다.

많은 정보가 있습니다. "Outlook VBA 메시지 본문 변경 언어"및 그 변형을 검색해보십시오. 당신이 얻을 수있는

일부 자원은 시작 :

+0

감사합니다. 게시 한 첫 번째 링크에서 .LanguageID = wdEnglishUK를 사용할 수는 있지만, .NoProofing은 인식되지 않습니다. –

+0

아마도 그렇지 않습니다. 귀하의 질문에 ** 철자법 변경 **이 필요합니다 **. – ashleedawg

+0

NoProofing은 완벽하게 관련이 있습니다. 언어를 설정했지만 NoProofing을 사용하면 맞춤법 검사기가 사용 중지되므로 전체 점을 무시하기 때문입니다. 어느 누구도 VBA를 사용하여 Outlook에서 NoProofing = False로 설정하는 방법을 알고 있습니까? –

0

NoProofing 작동합니다.

Option Explicit 

Private Sub Proofing_EnglishUK() 

    Dim oMailItm As Object 
    Dim oInsp As Object 
    Dim oMailEd As Object 
    Dim oWord As Object 
    Dim Rng As Object 

    Set oInsp = ActiveInspector 

    If oInsp.currentItem.Class = olMail Then 

     Set oMailItm = oInsp.currentItem 

     If oInsp.EditorType = olEditorWord Then 

      Set oMailEd = oMailItm.GetInspector.WordEditor 
      Set oWord = oMailEd.Application 

      Set Rng = oWord.Selection 
      Rng.WholeStory 

      With Rng 

       .LanguageID = wdEnglishUK 

       ' This should work as intended 
       '.NoProofing = False 


       ' ******* temporary ************* 
       ' Check whether .NoProofing can be set 
       ' with a spelling error somewhere in the mail 
       .NoProofing = Not .NoProofing 
       If .NoProofing = False Then 
        MsgBox "Proofing on. Errors should be found." 
       Else 
        MsgBox "Proofing off. The errors will not be found." 
       End If 
       ' ******* temporary ************* 

      End With 

      oMailItm.Save 

     End If 

    End If 

    Set Rng = Nothing 
    Set oWord = Nothing 
    Set oMailEd = Nothing 
    Set oMailItm = Nothing 

End Sub 
관련 문제