VB.NET上でEXCELのグラフを表示・操作するには?


うえり  2004-11-05 06:12:44  No: 117379

VB.NETにある横軸と縦軸のデータを元に折れ線グラフを描きたいのですが、EXCELのグラフを呼び出してVB.NET上に表示させることができるでしょうか?
EXCEL上で操作するのと同じように、スケール変更なども行いたいです。COMコンポーネントのMSChartControlのChartType3を使うという手もあるのですが、横軸のラベルが縦のグリッド線の間にくるので、都合がよくありません。横軸は時間データを扱いたいので、グラフ内のグリッドは、横軸数値の真上にきてほしいからです。MSChartControlでラベル位置をずらす方法があればそれでもかまいません。宜しくお願いします。


岡田 之仁  2004-11-05 07:35:13  No: 117380

結果から・・・できます。

エクセルの方でテンプレートファイルとなるグラフ作成ファイルを
作成し、VB.NET側から該当データをセルに書き込んで、該当グラフ
をクリップボード経由で、VB.NET上のPictureBoxに貼り付けるとか。

MSChartより、よりエクセルのグラフに近いのが、Office Web コン
ポーネントがあります。Office のCDにあります。別途インスト
ールが必要なようです。自動的にはインストールされないようで!

全てをコードのみで実現するには・・・なかなか難しかったです。
エクセル側では、マクロの記録とかを使用して操作を行い、その
記録されたコードを参考に、VB6やVB.NETにコードを移植しました
が・・・

お試し下さい。

以上。


うえり  2004-11-05 08:57:02  No: 117381

ご返事ありがとうございました。
  一旦データをEXCELに渡さないとできないみたいですね。
欲を言えば、出力のデータによって縦横軸をオートスケールにしたりしたかったのですが、なかなか難しそうですね...
Officeグラフコンポーネントも試してみます。
こっちの方が簡単そうですが、これはやはり、グラフコンポーネントがインストールされていないPCでは利用できないですよね?
自分のPCに入れるのは簡単ですが、配布先で使えないと困るので。
何にしても一歩前進といったところです。がんばってみます。


岡田 之仁  2004-11-05 10:12:50  No: 117382

配布後利用・・・と言うことであれば、結果的には各々の
マシンにエクセルやMSChart関係がインストールされてい
ないと無理です。条件は全て同じです・・・

となると、自分で全て書くコードを作成する必要があると
思いますが・・・

以上。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加