2016-08-23 1 views
-2

모든 모음 소리에 대해 색을 변경해야합니다. 상수에 대한 코드 조각을 찾았으므로 이것을 a, e, i, 오, 너?단어 매크로에서 여러 문자의 색을 바꿉니다.

Sub ChangeLetterColor() 
    Const LETTER_TO_CHANGE = "a" 
    Const COLOR_TO_CHANGE_TO = wdRed 

    For i = 1 To ThisDocument.Range.Characters.Count 
     If ThisDocument.Range.Characters(i) = LETTER_TO_CHANGE Then 
      ThisDocument.Range.Characters(i).Font.ColorIndex = COLOR_TO_CHANGE_TO 
     End If 
    Next 
End Sub 
+0

그것을 특정 문제가있는 곳이 명확하지 않습니다. 어려움이 어디에 있는지 설명해 주시겠습니까? –

+0

배열이나 변수를 올바르게 사용하는 법을 모르겠습니다. 나는 텍스트를 가지고 있으며, 모음의 소리는 "a, e, i, o, u"이므로 모든 모음의 소리가 붉은 색이어야합니다.이 경우 "a"한 글자로 상수를 사용할 수 없습니다. – DesertDoxRiga

답변

0

가장 쉬운 당신이 문자열로의 색상을 변경 한 후 해당 문자열에 포함되어 있는지 여부를 귀하의 문자열의 각 문자를 확인하고자하는 모든 문자를 넣어하는 것입니다 :

Sub ChangeLetterColor() 
    Const LETTERS_TO_CHANGE = "aeiou" 
    Const COLOR_TO_CHANGE_TO = wdRed 

    Dim i As Integer 
    Dim currentLetter As String 

    For i = 1 To ActiveDocument.Range.Characters.Count 
     currentLetter = ActiveDocument.Range.Characters(i) 
     If InStr(1, LETTERS_TO_CHANGE, currentLetter, vbTextCompare) Then 
      ActiveDocument.Range.Characters(i).Font.ColorIndex = COLOR_TO_CHANGE_TO 
     End If 
    Next 
End Sub 
+0

고맙습니다. 완벽하게 작동했습니다! – DesertDoxRiga