タスクのメモから埋め込みドキュメントを取得します

概要

Microsoft Projectファイル(MPP)では、タスクノートには埋め込まれたドキュメントを含めることができます。これらの埋め込まれたオブジェクトは、通常、タスクの「notesRtf`プロパティ内にrtf形式に保存されます。

.net単独のaspose.tasksはこれらの埋め込みドキュメントの解析または抽出を完全にサポートしていません**、 ** aspose.words for .net **と組み合わせることができます。

この記事では、タスクから「notesrtf」データを読み取り、aspose.wordsを使用して埋め込みドキュメントを抽出する方法を示しています。

要件

先に進む前に、次のようにしてください。

nuget経由で両方のライブラリをインストールできます。

1Install-Package Aspose.Tasks
2Install-Package Aspose.Words

タスクノートから組み込みドキュメントを取得します

次のコードスニペット:

  1. aspose.tasksを使用してMPPファイルをロードします。
  2. 各タスクの「notesrtf」コンテンツを読み取ります。
  3. 「asops.words」を使用してRTFを解析します。
  4. 各埋め込みオブジェクト(見つかった場合)をディスクに保存します。

✅コードの例

{\ <セクション “code-snippet” i18n-exclude>}

 1Project project = new Project("New Project.mpp");
 2Task task = project.RootTask.Children.GetById(1);
 3
 4File.WriteAllText("Notes_out.rtf", task.Get(Tsk.NotesRTF));
 5
 6Document doc = null;
 7using (MemoryStream stream = new MemoryStream())
 8using (StreamWriter streamWriter = new StreamWriter(stream))
 9{
10    streamWriter.Write(task.Get(Tsk.NotesRTF));
11    doc = new Document(stream);
12}
13
14NodeCollection shapes = doc.GetChildNodes(NodeType.Shape, true);
15foreach (Aspose.Words.Drawing.Shape shape in shapes)
16{
17    if (shape.OleFormat != null)
18    {
19        if (!shape.OleFormat.IsLink)
20        {
21            // Extract OLE Word object
22            if (shape.OleFormat.ProgId == "Word.Document.12")
23            {
24                MemoryStream stream = new MemoryStream();
25                shape.OleFormat.Save(stream);
26
27                Document newDoc = new Document(stream);
28                newDoc.Save("RetrieveTaskEmbeddedDocuments_out.doc");
29            }
30        }
31    }
32}

メモ

まとめ

asops.tasks and aspose.wordsを組み合わせることにより、開発者はMPPファイルに保存されているタスクノートから埋め込まれたドキュメントを抽出できます。このアプローチは、MPPファイルを使用して追加の仕様または添付ファイルをノートフィールドを介して運ぶ場合に特に役立ちます。

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.