C#でASPでEXCELをマクロ動かすものを作ろうと思うのですが、
どうやって作ったらよいでしょうか。
具合的にいいますと、
クライアントで表示した画面のあるボタンを押すと、
サーバにあるExcelのマクロが起動して結果(Excelの表)を
クライアント側で表示する。
といったものです。
サーバ側にはExcelは入ってないので、
クライアント側にダウンロードしてきてマクロを起動すると
いったものになると考えています。
ざっくりとした説明ですが、
どうやって実現すればいいか分からない状況です。
自分でも調べていますが、
どなたか教えていただければと思います。
ここを見ればとかヒントのようなものでも
かまいませんので是非お願いします。
No.4ベストアンサー
- 回答日時:
ちょっと趣旨が噛みあっていないようなので。
。基本的には、
・サーバ(Webサーバ、またはLAN/VPN上のWindowsサーバ)があって、そこにデータベースがある
・クライアント(PC)があって、マクロ(プログラム)の入っているExcelを動かす
ということではないかと思います。
そのうえで、
・クライアント上でExcelを動かし、サーバからデータを持ってきて、表示する。
・あとはExcel上で何かする(整形やコピー、印刷、場合によってはサーバへの書き戻しなど)
Excel上の従来型「マクロ」ではC#やVB.NET言語は使用できません。使えるのは旧式のVBAのみ。
現在は、Visual Studio 2005以上を使い、C#やVB.NETで「VSTO=Visual Studio Tools for Office System」形式でアドオンやドキュメント上のDLLモジュールを開発します。
VSTOであればC#で開発でき、(もしあれば)VBAで昔、作らたマクロを呼び出すことも可能です。
もちろん、.NETの全機能が使用できるので、古臭いExcel VBAの機能に制限されることもありません。
相手がWebサーバでも、XML WebサービスやWCFを使ってデータの読み書きが可能です。
要するにプログラムのインターフェース画面をExcelやWordにするため、その上で動くモジュールを開発する、ということです。Offuice2003以上で対応します。
C#でWindowsアプリケーションを開発したことがあれば、そんなに難しいことではないと思います。
(VSTOはVisual Studio 2003までは別商品でしたが、VS2005からは内蔵されています)
参考URL:http://www.atmarkit.co.jp/fdotnet/special/vstode …
No.3
- 回答日時:
サーバ側にExcelをインストールしないでもExcelを
カスタマイズする方法はあります。現在、microsoftの
推奨はOpenXMLです。これでExcel2007形式のファイルが
作れます。これは説明によると、XMLでブックやシートを
表したものをZIP圧縮したとのことです。
難しいのは放っておいて、Excel用のライブラリを
下記URLからダウンロードします。
http://excelpackage.codeplex.com/
ここには使い方サンプルもリンクしています。
クライアント側がExcel2007でない場合は互換パックを
インストールすればExcel2007を開けるようになります。
http://www.microsoft.com/downloads/details.aspx? …
自動実行はブックのOpenイベントに入れるのが普通です。
拡張子は".xslx"で、ダウンロードして開くと、「修復が
必要」という警告が出ることがありますが、修復すれば
データが破壊されること無いようです。(簡単なヤツしか
実験してない)
No.2
- 回答日時:
Excelにシートを表示するだけで難しいことはしないのあれば、HTMLのTABLEタグをそのまま読ませればよい。
Response.ContentType = "application/excel";
Response.Write("<table>~</table>");
Response.End();
下のサンプルでは、Response.Writeの部分でGridView(TABLEタグ生成のスペシャリストである)を利用しています。
参考URL:http://www.highoncoding.com/Articles/197_Extensi …
No.1
- 回答日時:
>サーバにあるExcelのマクロが起動して
>サーバ側にはExcelは入ってない
矛盾してますね。Excelが無ければマクロは起動しません。
クライアント側でダウンロードしたExcelを手動で操作し、
マクロを実行するしかないでしょう。
ダウンロードからファイルを開くまで自動でできたら、
ウィルスを送り込むのが簡単になってしまいます。
よって、そのような機能を持つようなブラウザは誰も
使いたがらないし、要求の無い機能を開発する人も
いません。
なるほど、いわれてみればそうですね。
ありがとうございます。
ダウンロードして、Auto_Open?だかで動かすようにします。
サーバ上でExcelは動かせないのでパラメータが渡せないのが
つらいなあ・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel起動時にエラーダイアログが表示される 3 2022/07/28 19:52
- Word(ワード) Word 2016のマクロを Word 2021のWordでキー動作させたい 3 2023/04/12 16:14
- その他(プログラミング・Web制作) Pythonでexcelのvbaを作成、実行する方法について Pythonで表の自動集計プログラムを 3 2022/07/09 09:58
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Visual Basic(VBA) VBA 登録ボタンを省略してエンターキーで作業 4 2022/07/09 22:29
- Visual Basic(VBA) VBA アドインについて お詳しい方 ご教授をお願いします。 相談事項 現在以下の対応を実施した所、 1 2022/11/02 16:53
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/10 09:06
- Excel(エクセル) Excel処理について、教えて下さい。 下記表は、サンプルです。(実際には千件以上あります) A列に 6 2023/03/16 18:21
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
- Excel(エクセル) Excelのマクロについてご教授ください 2 2023/02/25 09:43
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
エクセルで特定の列が0表示の場...
-
一つのTeratermのマクロで複数...
-
vba マクロでファイル名をつけ...
-
Excel2010でエンターキーにマク...
-
エクセルに張り付けた写真のフ...
-
VBAにて別ワークブック上の実行...
-
VC++ 2008 EXPRESS "_T"識別子...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
マクロで空白セルを詰めて別シ...
-
VB6とVBAのマクロのアクセス方...
-
2つのマクロでチェックボックス...
-
ワードで算用数字を漢数字に変...
-
PowerPointにおける「コメント...
-
アクセス マクロ クリップボ...
-
VBScript VisioをPDFに変換
-
エクセルで別のセルにあるふり...
-
大文字から小文字に変換するマ...
-
エクセルVBAでNAVITIMEを使って...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
ExcelのVBA。public変数の値が...
-
Excel VBAからAccessマクロを実...
-
EXCELのVBAでRange("A1:C4")を...
-
ExcelVBAでPDFを閉じるソース
-
エクセルに張り付けた写真のフ...
-
エクセルで別のセルにあるふり...
-
TERA TERMを隠す方法
-
2つのマクロでチェックボックス...
-
マクロ実行時、ユーザーフォー...
-
【マクロ】1つのマクロの中に...
-
ピボットテーブルでの毎回可変...
-
特定文字のある行の前に空白行...
-
エクセルのマクロについて教え...
-
wordを起動した際に特定のペー...
おすすめ情報