2

これは簡単なように思えますが、奇妙な動作が見られます。フラグに基づいてタスクを色分けしようとしています。タスクを正しく色付けしているように見えますが、処理中のある時点で、色付けされた最初のタスクが黒にリセットされます。それが発生するタスクもかなり一貫性がないようです。このタスクを実行しようとしている方法は次のとおりです(最も単純な形式に簡略化されています):

Sub ColorTasks()
    Dim t As Task
    For Each t In ActiveProject.Tasks
        SelectRow t.ID, RowRelative:=False
        Font32Ex Color:=2366701
    Next
End Sub

このコードは、小さなデータ セットの場合は問題なく動作するように見えますが、このプロジェクトには約 2,000 のタスクが含まれています。何か案は?

4

3 に答える 3

1

これは古い質問であることは知っていますが、同様の問題を抱えている人に役立つことを願っています.

間違いは、16 進数の前に 'H' を追加するのを忘れたことです。

Font32Ex CellColor:=&H3A3AD4
etc
于 2013-12-02T23:43:28.500 に答える
1

はい、私も同様の問題を抱えています::

For Each t In tsks
    Select Case t.Text1
        Case "COMPLETE"
            SelectRow Row:=t.ID, RowRelative:=False
            Font32Ex CellColor:=&659B59
        Case "NOT STARTED"
            SelectRow Row:=t.ID, RowRelative:=False
            Font32Ex CellColor:=&862525
        Case "IN PROGRESS"
            SelectRow Row:=t.ID, RowRelative:=False
            Font32Ex CellColor:=&3A3AD4
    End Select
Next t

によると:http://msdn.microsoft.com/en-us/library/ff863572.aspxこれはうまくいくはずですが、毎回構文エラーが発生します。これを機能させる唯一の方法は、16色のみに制限するFontExメソッドを使用することです....

于 2011-06-09T19:26:40.020 に答える