2017-05-11 7 views
1

작업 수준에서 플래그 유형 엔터프라이즈 사용자 정의 필드를 True/False로 설정하거나 예/아니요로 설정하려고합니다. VBA에서 같은 구문을 알 수 있습니까?VBA를 사용하여 플래그 유형 태스크 수준 엔터프라이즈 사용자 정의 필드 설정

MSDN의는 말한다 : 값이 문자열 인

projectField = FieldNameToFieldConstant("TestEntProjText", pjProject) 

ActiveProject.ProjectSummaryTask.SetField FieldID:=projectField, Value:="This is a new value." 

합니다. 하지만 제 경우에는 그것을 부울 값으로하고 싶습니다.

답변

0

SetField 메서드는 항상 문자열 값을 사용하지만 필드를 설정하는 데 사용할 수 있습니다. 부울 값을 설정하려면 "예"및 "아니요"를 사용하십시오.

관련 메서드 GetField은 테이블 뷰에 표시되는대로 필드 값을 반환하므로 항상 문자열을 반환합니다.

0

하위 setEnterpriseFlag()

Dim myTask As Task 
Set myTask = ActiveProject.Tasks.Item(1) 

Debug.Print myTask.GetField(pjTaskEnterpriseFlag1) 
Debug.Print myTask.GetField(pjTaskEnterpriseFlag2) 

myTask.SetField pjTaskEnterpriseFlag1, boolToStr_forSetField(True) 
myTask.SetField pjTaskEnterpriseFlag2, boolToStr_forSetField(False) 

Debug.Print myTask.GetField(pjTaskEnterpriseFlag1) 
Debug.Print myTask.GetField(pjTaskEnterpriseFlag2) 

최종 하위

'불행하게도 단지 문자열 task.SetField 및 task.GetField는 거래. 간단한 의 방법은 간단한 래퍼 기능을 사용하는 것입니다. 기능 boolToStr_forSetField (부울로 boolVal) 문자열 으로 boolVal 그런 boolToStr_forSetField = "예" 그렇지 boolToStr_forSetField = "아니오" 최종면 최종 기능

하는 경우