2012-10-20 4 views
2

Word VBA를 사용하여 텍스트 색을 설정하려고합니다. 그러나 Word에서는 색상 변경을 "변경"으로 간주하지 않습니다. 예를 들어 다음 VBA 코드를 실행하면 Word Undo에 아무 것도 포함되지 않습니다. Word를 직접 종료하면 Word가 변경 내용을 저장할지 묻는 메시지를 표시하지 않습니다. 의견을 나누시겠습니까? 의견을 보내 주셔서 대단히 감사합니다!Word VBA를 사용하여 텍스트 색의 변경 내용을 저장할 수 없습니까?

Public Sub Test() 
    ActiveDocument.Range.Font.TextColor = wdColorBlue 
End Sub 

PS : Windows 7 SP1 X64에서 Word 2010 x86. 이처럼 그것을 할 경우

ActiveDocument.Range.Font.Color = wdColorBlue 

, Font.Color으로, 말씀이 변경 사항을 등록하고 취소 할 수있는 무언가로 취급 : 대신 텍스트 색상 속성을 사용

+0

변경 후 'ActiveDocument.Saved = False'를 설정할 수 있으며'변경 사항 저장 하시겠습니까? ' 닫을 때 트리거됩니다. –

+0

범위가 비어 있습니까? – Neil

+0

@Tim Thanks! 그러나 왜 텍스트 색상을 설정하는 것이 '변경'으로 취급되지 않는지 궁금합니다. @ 닐 아니, 그렇지 않아. – SOUser

답변

2

은 색상 속성을 사용합니다. TextColor 속성은 공식적으로 Word의 구성 가능한 속성이 아닙니다. 문서는 읽기 전용으로 정의합니다. TextColor 속성을 통해 텍스트 색상을 효과적으로 변경할 수 있다는 사실은 변칙적입니다. vba의 IntelliSense는 "글꼴"을 입력 할 때 Color가 아니라 TextColor를 가져옵니다. 그럼에도 불구하고 (적어도 한 수준에서) Word는 TextColor를 읽기 전용으로 취급하므로 해당 속성에 대한 변경 사항을 완전히 등록하지는 못합니다.

+0

유익한 커미션을 가져 주셔서 감사합니다! :) – SOUser