2016-05-27 5 views
0

Visual Studio 2015でC#を使用して、タスクをMSプロジェクトに追加し、アウトラインレベルを変更しています。私はタスクを追加することができますが、OutlineLevelを変更しようとするとランタイムエラーが発生します。私はTask.OutlineLevelshortであることを知りました。そこで、shortにキャストするためにいくつかのことを試しました。ここにコードがあります。Microsoft Project 2010タスクC#のタスクのアウトラインレベルで実行時例外が発生する

private void button_Taskcount_Click(object sender, EventArgs e) 
{ 
    Int16 level; 
    // label_counttasks.Text = myProject.Name + "has " + myProject.Tasks.Count + " tasksom" ; 
    MSProject.Project myProject = Globals.ThisAddIn.Application.ActiveProject; 


    MSProject.Task myTask; 
    myTask = myProject.Tasks.Add("New Task"); 

    myTask = myProject.Tasks.Add("New Task 2",myTask.UniqueID); 

    level = (Int16)(myTask.OutlineLevel + 1); 
    myTask.OutlineLevel = level; 
} 

「引数が無効です」というエラーが表示されます。私はそれに6時間を費やしました。

myTaskのアウトラインレベルを変更したいと思います。私もmyTask.OutlineIndent()を試しました - それは同じエラーを与えます。

+0

MSDNによると、 Task.OutlineLevelは「整数」です。https://msdn.microsoft.com/en-us/library/office/ff864527(v=office.15).aspx –

+1

これはどのラインが爆発していますか? –

+0

ところで、少なくともドキュメンテーションによると、 'Tasks.Add'の2番目のパラメータは、タスクがタスクコレクションで取るべき位置でなければなりません。 'Task.UniqueID'はそれではなく、識別子です。それは最初のいくつかのタスクのポジションと同じかもしれませんが、いつもそうなるとは思いません。 –

答えて

1

さらに6時間の検索の後に自分の質問に答える。最初のタスクのアウトラインレベルを変更しようとしていたことが判明しました。これは許可されていません。私が追加していた2番目のタスクでは、私は最初のタスクとして "before"パラメータを使用していました。そのタスクは最初のタスクとして追加されました。最初のタスクのアウトラインレベルを1より大きくすることができないため、追加されたタスクの概要レベルを変更しようとしたときに、期待通りに不平を言いました。

+0

あなたの投稿に署名する必要はありません。あなたが書いたすべての投稿にあなたの名前とGravatarを持つサインカードが既にあります。 –

関連する問題