
MS Project ファイルから日付を取得し、条件付き数式を実行してプロジェクト ステータス マトリックスを処理するために使用している別の Excel ファイルに渡そうとしています。
問題は、プロジェクト ファイルが変更されるたびにそれらの日付を更新する必要があるため、単純なエクスポート/インポートは理想的ではなく、永続的な接続が必要であることです。
コピー > 貼り付け > リンク > テキストというアプローチを試しました。Excel への最初のデータ ダンプには問題なく機能し、まだ開いているプロジェクト ファイルへの更新もすべて反映されます。ただし、Excel ファイルまたはプロジェクト ファイルを閉じて再度開くと、リンクが壊れているように見えます (ファイル名や場所は変更していません)。
自動的に更新されなくても、少なくとも永続的かつ堅牢な接続を設定するにはどうすればよいでしょうか?
答え1
求めていることを実行するには、おそらくプロジェクト サーバーを使用し、読み取り専用の ODBC 接続を介して Excel を SQL サーバーのタスク テーブルにリンクする必要がありますが、それでも、スケジュールが公開されたときにのみデータベースが更新されるため、リアルタイムにはなりません (ライセンス料がかかります)。
MPP ファイルは一度に 1 つのアプリケーションでしか開くことができないため、リアルタイム更新を行うことはできないと思います。
妥協案としては、マクロを含む MS Excel ドキュメントが考えられます。このマクロは、MPP ファイルを開くと最新のデータを取得し、その後 MPP ファイルを閉じます (または、Excel ファイルが閉じられるまでロックされたままにして、それ以上の変更ができないようにします)。これは、Excel ファイルを実行しているマシンに MS Project もインストールされているという前提に基づいています。そうでない場合、Project ファイルにアクセスできません。
あるいは、必要なデータを Excel ファイルに出力するマクロを MS Project 保存イベントに追加します。追加のライセンスは不要で、VBA の知識があれば十分です。
それが役に立つことを願います。