2017-02-15 38 views
2

對不起,如果這是一個簡單的問題,我剛開始使用vba與MS Project。Microsoft Project,使用vba刪除任務

我想要循環瀏覽MS Project文件中的所有任務,並在滿足特定條件時刪除任務。問題發生在一個任務被刪除後,似乎j任務變量被設置爲Nothing,從而將所有事情都搞砸了。任何想法我怎麼能做到這一點?

For Each j In prj.Tasks 

    If j.Text10 = "1" Or j.Text10 = "2" Then ' If criteria is met 

     SelectRow Row:=j ' Select the row 
     EditDelete  ' Delete the row 

    End If 
Next j 
+0

使用一個for x = maxTasks來1步-1這樣你的計數器不會丟失它的位置 – Sorceri

回答

1

這就是我過去的做法,檢查項目中的所有任務。

我不是100%確定的語法,因爲它已經有一段時間,因爲我已經在你的代碼再次,它看起來像看後的項目工作,我複製這從vb.net

Dim T as Task 

For Each T In Application.Tasks 
    If T.Text10 = "1" Or T.Text10 = "2" Then 
     T.Delete 
    End If 
Next 

你只需要改變

.... Then 
    j.Delete 
End if 
+0

就是這樣。謝謝 –

+0

如果該答案適用於您,請接受它作爲答案,它可以幫助其他有類似問題的人找到工作解決方案。 – ballsy26