1

ms project 2003 または 2007 で動作する mpxj と outlince コードを持っている人はいますか?

次のコードでアウトライン コードをエクスポートしようとしました。

ProjectFile project = new ProjectFile();
Task task = project.addTask();
task.setOutlineCode1("outlineCode1");

結果の xml は次のようになります。

<Project xmlns="http://schemas.microsoft.com/project">
..
<ExtendedAttributes>
    <ExtendedAttribute>
        <FieldID>188744096</FieldID>
        <FieldName>Outline Code1</FieldName>
    </ExtendedAttribute>
</ExtendedAttributes>
..
<Tasks>
    <Task>
        ..
        <ExtendedAttribute>
            <FieldID>188744096</FieldID>
            <Value>value</Value>
        </ExtendedAttribute>
        ..
    </Task>
</Tasks>
</Project>

しかし、インポートしたプロジェクトにアウトラインコードが見つかりませんでした..

プロジェクトにアウトライン コードを手動で追加すると、結果の xml ファイルも上記とは異なります。

<Project xmlns="http://schemas.microsoft.com/project">
..
<OutlineCodes>
    <OutlineCode>
    <FieldID>188744096</FieldID>
    <FieldName>Outline Code1</FieldName>
        <Values>
            <Value>
                <ValueID>1</ValueID>
                <ParentValueID>0</ParentValueID>
                <Value>value</Value>
            </Value>
            ..
        </Values>
        ..
</OutlineCode>
</OutlineCodes>
..
<ExtendedAttributes>
    <ExtendedAttribute>
        <FieldID>188744096</FieldID>
        <FieldName>Outline Code1</FieldName>
    </ExtendedAttribute>
</ExtendedAttributes>
..
<Tasks>
    <Task>
        ..
        <OutlineCode>
            <UID>1</UID>
            <FieldID>188744096</FieldID>
            <ValueID>1</ValueID>
        </OutlineCode>
        ..
    </Task>
</Tasks>
</Project>

では、輸出手続きの重要なステップがいくつか抜けているように思えますか?!

4

1 に答える 1

1

私は MPXJ のソースに目を通し、自分で簡単なテストを行いましたが、あなたが何か間違ったことをしているようには見えません。私が知る限り、MS Project が必要とする方法で OutlineCodes をサポートしていません。

あなたが発見したように、それは通常ExtendedAttributesのようにそれらを出力しますが、MSPDI スキーマはOutlineCodeこれらを格納するための一連の要素を定義します (MS Project によって作成された xml でわかるように)。実際には、OutlineCode要素は、値を直接保存するのではなく、プロジェクトで定義されたルックアップ値への参照を保存します。

あなたの最善の策は、 SourceForge にバグを記録し、 Jon (作成者) に見てもらうことです。

于 2012-03-26T17:35:30.367 に答える