2017-05-11 13 views
1

タスクレベルでフラグタイプのエンタープライズカスタムフィールドをTrue/FalseまたはYes/Noに設定したいとします。私はVBAの同じ構文を知ることができます。VBAを使用してフラグタイプのタスクレベルのエンタープライズカスタムフィールドを設定する

MSDN氏は述べています:値が文字列である

projectField = FieldNameToFieldConstant("TestEntProjText", pjProject) 

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

を。しかし、私の場合、それはブール値にしたい。

答えて

0

SetFieldメソッドは常に文字列値をとりますが、任意のフィールドを設定するために使用できます。ブール値を設定するには "Yes"と "No"を使用します。

関連するメソッド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) 

End Subの

文字列だけで「残念ながらtask.SetFieldとtask.GetField取引。これを簡単に扱えるようにするには、簡単なラッパー関数を使用するのが良いでしょう( )。文字列 として 機能boolToStr_forSetField(booleanとしてboolVal)エルスboolVal次に boolToStr_forSetField = "はい" boolToStr_forSetField = "いいえ" END IF エンド機能

の場合
関連する問題