- PR -

ASP.NETでEXCELデータ内のコントロールの値を知るには?

1
投稿者投稿内容
なごやん
会議室デビュー日: 2003/03/03
投稿数: 10
投稿日時: 2003-03-03 23:21
はじめて質問させて頂きます。

EXCELデータに入っているチェックボックスやテキストボックス
の値を取得したいと思っております。

OledbDataAdapterを使ったセルデータの抜き取りは問題ありませんでしたが
チェックボックス等のコントロール値の取得方法が分かりません。
http://www.aspfree.com/aspnet/excel.aspx

仕方ないのでCreateObject("Excel.Application")を使った方法で
チェックボックスの値は取得出来ましたが
1)EXCELをバックグラウンドで動かす
2)DCOMCNFGでセキュリティ設定が必要
3)EXCELをOPEN中にバグると、EXCELが幽霊になる
なんとなく信頼性に欠けるので使いたくない気分なのです。

OledbDataAdapterっぽい使い方で、EXCELデータのコントロールの値が拾えると
うれしいのですが・・・。

あと、CreateObject("Excel.Application")でも取り方が分からないのが
ありますので、ご存知の方いらっしゃいますでしょうか?
・「図形絵画」−「テキストボックス」
コントロールのテキストボックスは取れるのですが、図形絵画のテキストボックスは
どうやって取るのでしょうか?

よろしくお願いします。
mito
ベテラン
会議室デビュー日: 2002/05/17
投稿数: 50
投稿日時: 2003-03-04 10:04
>EXCELデータのコントロールの値が拾えるとうれしいのですが・・・
名前を付けたセルにコントロールをリンクさせるというのはどうでしょうか?
確かLinkedCellとかいうプロパティで自動的にセルに選択値を表示できたと思います。
セルに入っていればOledbDataAdapterで何とかなりませんか?

>図形絵画のテキストボックスはどうやって取るのでしょうか?
Sheets(1).Shapes("Text Box 1").Characters.Text
で取れませんか?
Text Box 1はテキストの名前です。自動ではなく自分で名前を付けておくと分かりやすいです。
このテキストもセルとリンクさせるといいかも。
(テキストを選択状態にして数式バーに「=」と入力後、適切なセルをクリックする)

あまり複雑な設定をするとブックがよく壊れます、ご注意ください(苦笑)
なごやん
会議室デビュー日: 2003/03/03
投稿数: 10
投稿日時: 2003-03-04 23:05
ご返事ありがとうございます。

>名前を付けたセルにコントロールをリンクさせるというのはどうでしょうか?

説明不足で申し訳ありません。既にこのEXCELファイルが数百あり
変更できないのです。(新規ならよかったのですが・・・)

>Sheets(1).Shapes("Text Box 1").Characters.Text

シェイプなので「Shape」ですか。なるほど、いまごろ知りました。(^^;
試させて頂きます。

Excel.ApplicationかGetObject辺りでしか方法がなさそうですね。

ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)