MPP から XER へ

MPP は、作業負荷、スケジュール、財務を保存するためによく使用される Microsoft Project の主要形式の 1 つです。1984 年に Microsoft Project が最初にリリースされて以来、プロジェクトの管理、スケジュールの作成、予算の設定、リソースの割り当てに使用されています。したがって、MPP 形式は Microsoft Project に関連付けられたネイティブ ファイル タイプであり、プロジェクトを保存するときにプロジェクト情報を保存します。同様に、XER ファイル形式は、Primavera P6 プロジェクト計画および管理アプリケーションで使用される独自のプロジェクト ファイル形式です。したがって、MPP ファイルを別の形式に変換する必要がある場合は、オンプレミス ソリューションをインストールして構成するか、クラウドベースのソリューションを選択する必要があります。

Microsoft Project 処理 API

Microsoft Project と Primavera P6 は、プロジェクトの割り当て、タスク、リソース、カレンダー、属性、スケジュール情報に使用される一般的なファイル形式の 1 つです。お客様がこれらのドキュメントをプログラムで処理できるようにするために、当社は Aspose.Tasks Cloud API を開発しました。これは、プロジェクトの割り当て項目の取得、プロジェクトへの新しい割り当ての追加、プロジェクトのすべてのタスクの取得、タスクの位置の変更、プロジェクトへのカレンダーの追加、時間スケール データの取得などを可能にする REST ベースのソリューションです。これらの操作はすべて、サードパーティ ソフトウェアをインストールせずに実行できます。

さらに、Aspose.Tasks CloudのラッパーであるAspose.Tasks Cloud SDK for .NETを開発し、これにより、.NETアプリケーション内でプロジェクト管理関連のすべてのタスクを実装できるようになりました。

インストール

.NET Cloud SDK を使用するには、まずシステムにインストールする必要があります。NuGet および GitHub からダウンロードできます。NuGet 経由で SDK をインストールするには、ターミナルで次のコマンドを実行してください。

nuget install Aspose.Tasks-Cloud

NuGet パッケージ マネージャーからインストールする必要がある場合は、次のコマンドを実行してください。

PM> Install-Package Aspose.Tasks-Cloud

Visual Studio アプローチ

もう 1 つの方法は、Visual Studio 内で直接インストールすることです。

  1. ソリューション エクスプローラーを開きます。
  2. プロジェクトを展開し、ソリューション内のパッケージ フォルダーを右クリックします。
  3. 「NuGet パッケージの管理…」オプションを選択します。
  4. [参照] タブをクリックし、「Aspose.Tasks-Cloud」を検索します。
  5. Aspose.Tasks-Cloud パッケージの横にあるチェックボックスをクリックし、右側のタブで適切なバージョンを選択して、[パッケージの追加] ボタンをクリックします。
キャプション

Image 1:- Aspose.Tasks-Cloud as NuGet package.

無料のクラウドサブスクリプション

クラウド API にアクセスするには、まず無料のクラウド サブスクリプション アカウントを作成する必要があります。はい、その通りです。最大 150 件のドキュメント処理リクエストを無料で提供する無料のサブスクリプション アカウントです。クレジットカードやその他の支払い情報は必要ありません。このプロセスを完了するには、Aspose.Cloud ダッシュボード にアクセスしてください。GitHub または Google アカウントをお持ちの場合は、サインアップするだけです。それ以外の場合は、新しいアカウントの作成 ボタンをクリックして必要な情報を入力します。資格情報を使用してダッシュボードにログインし、ダッシュボードからアプリケーション セクションを展開して、クライアント資格情報セクションまで下にスクロールすると、クライアント ID とクライアント シークレットの詳細が表示されます。

クライアントの資格情報

画像 2: Aspose.Cloud ダッシュボードのクライアント資格情報。

C# での MPP から XER へ

C# .NET アプリケーションで MPP ファイルから Primavera P6 XER への変換を実行するには、以下の手順に従ってください。

  • まず、クライアント ID とクライアント シークレットの詳細を指定して、構成オブジェクトを作成します。
  • 次に、Configurationオブジェクトを引数として渡しながらTasksApiのオブジェクトを作成します。
  • 3 番目に、ローカル ドライブから MPP ファイルを読み取り、TasksApi の UploadFile(..) メソッドを使用してクラウド ストレージにアップロードします。
  • ここで、GetTaskDocumentWithFormatRequestのオブジェクトを作成し、入力MPP名とProjectFileFormat列挙体からの結果の形式を定義します。
  • 次に、TasksApi の GetTaskDocumentWithFormat(…) メソッドを呼び出して変換プロセスを開始します。
  • 最後に、出力 XER をローカル ドライブに保存するために、saveToDisk(…) メソッド内で File.Create オブジェクトを使用します。
// https://dashboard.aspose.cloud/ から ClientID を取得します。
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// 構成オブジェクトを作成する
var config = new Configuration{ AppSid= clientID, AppKey = clientSecret };

// Aspose.Tasks オブジェクトを初期化する
var tasksApi = new TasksApi(config);

String inputFile = "Home move plan.mpp";
String resultant = "Output.xer";

try
{
    // ローカルストレージから入力MPPファイルを読み込む
    using (var inputStream = new FileStream("/Users/nshahbaz/Downloads/" + inputFile, FileMode.Open))
    {
        var uploadFileRequest = new PostCreateRequest(inputFile, inputStream);
        
        // ファイルをクラウドストレージにアップロードする
        tasksApi.UploadFile(uploadFileRequest);
    }

    // MPPからXERへの変換プロセスを初期化する
    var response = tasksApi.GetTaskDocumentWithFormat(new GetTaskDocumentWithFormatRequest
    {
        Format = Aspose.Tasks.Cloud.Sdk.Model.ProjectFileFormat.Xer,
        Name = inputFile,
        Folder = null,
    });

    if (response != null )
    {
        Console.WriteLine("Successfully converted MPP to XER !");
    }

    // 結果のファイルをローカルドライブに保存する
    saveToDisk(response, "/Users/nshahbaz/Downloads/" + resultant);
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

public static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}

cURL を使用して MPP を Primavera P6 に変換する

cURL コマンドは、コマンド ライン ターミナルから REST API にアクセスするもう 1 つの便利な方法です。したがって、cURL コマンド経由で Aspose.Tasks Cloud にアクセスし、要件を満たすこともできます。ただし、API にアクセスする前に、Aspose.Cloud ダッシュボード から取得した ClientID と ClientSecret の詳細に基づいて JSON Web トークン (JWT) を生成する必要があります。ターミナルで次のコマンドを実行して、JWT トークンを生成してください。

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

JWT トークンが生成されたら、次のコマンドを実行して、クラウド ストレージで使用可能な MPP ファイルを XER 形式に変換してください。

curl -X GET "https://api.aspose.cloud/v3.0/tasks/Home%20move%20plan.mpp/format?format=xer&returnAsZipArchive=false" \
-H  "accept: multipart/form-data" \
-H  "authorization: Bearer <JWT Token>" \
-o Converted.xer

上記の例で使用したサンプルファイルはHome move plan.mppからダウンロードできます。

結論

この記事では、C# .NET コード スニペットと cURL コマンドを使用して、Microsoft Project (MPP) ファイルを Oracle Primavera P6 XER ファイルに変換する手順について説明しました。さらに、ライセンス メカニズムは非常に柔軟に設計されているため、サービスを利用した期間に対してのみ料金が発生します。また、無料アカウント サブスクリプションでは、最大 150 件のドキュメント処理リクエストを無料で利用できます。API に満足したら、非常に柔軟なライセンス購入を検討できます。サーバーに送信したリクエストに対してのみ課金され、API 呼び出しあたり 0.005 ドルという低価格です。詳細については、価格設定 ページをご覧ください。

ただし、当社のクラウドSDKはMITライセンスに基づいて開発されているため、完全なコードスニペットはGitHubからダウンロードできます。APIの使用中に問題が発生した場合や関連する質問がある場合は、無料サポートフォーラムからお気軽にお問い合わせください。

関連記事

詳細については、次のリンクも参照することをお勧めします。