- PR -

EXCELのマクロで、サーバ上のファイルの値を取得できる方法がわかりません。

1
投稿者投稿内容
こまった
常連さん
会議室デビュー日: 2004/06/07
投稿数: 23
投稿日時: 2004-11-28 21:46
ASP.NETで、クライアント側からアクセスした場合にEXCELファイルを表示させる処理で
そのEXCELファイルのマクロでサーバ上のファイルの値(バイナリ)を取得させる方法がわかりません。

EXCELのマクロで、サーバに置いてあるファイルの値(バイナリ)を取得して変換させて表にさせるのが目的です。
※ サーバは設置環境によってPC名が変わります。

表示させるHTMLの中で、
<iframe name="main" src="xls/index4.xls" runat="server" scrolling="no" ID="Iframe2" frameborder="no" style="Z-INDEX: 101; LEFT: 88px; WIDTH: 80%; POSITION: absolute; TOP: 88px; HEIGHT: 534px">

のロジック中で src="xls/index4.xls" でEXCELファイルを呼び出しています。

質問内容でわからない事がありましたら
指摘してください。

よろしくお願いいたします。

[ メッセージ編集済み 編集者: こまった 編集日時 2004-11-29 08:31 ]
JIMMY
常連さん
会議室デビュー日: 2004/10/26
投稿数: 32
お住まい・勤務地: 東京
投稿日時: 2004-12-02 13:52
こんにちは

EXCELのスプレッドシートはサーバにアップロードされているのだと
思いますが、クライアントからアクセスして表示しているEXCELのス
プレッドシートは、表示中はどこにデータが存在していますか?

HTTPでアクセスしている場合は、クライアントにダウンロードされた
データを表示しているだけなのでサーバの状態を取得するというのは無理
ではないかと思います。

実際、EXCELがインストールされていないパソコンでは、EXCEL
データにアクセスしてもダウンロード出来るだけで、表示できないと思い
ます。

もし行うのであれば、サーバ上のCGIで必要な情報を取得した結果を、
EXCELで使用可能なデータの形に成型してクライアントで表示する方
法になると思います。
でも、そこまでするのであれば、EXCEL用のデータ化をせずに、CG
Iの結果として画面に表示するのが良いかも知れませんね。


[ メッセージ編集済み 編集者: JIMMY 編集日時 2004-12-02 14:00 ]
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2004-12-02 14:45
漠然としていてよくわからないのですが、
取得といっても色々手段があると思います。

そもそも手段がわからないのでしょうか?
ある手段を検討しているが、その手段の使用の仕方がわからないのでしょうか?

ダウンロードしたEXCELのマクロは、クライアントで実行されますので、
サーバ上に存在するバイナリファイルをマクロから取得するには
当然ネットワークを経由しなければいけません。
となると、SMTPやFTPやHTTPはたまたWinsockって方法もありますね。

今のVBAならほぼVB6と同等のことができますので、
HTTP系のコントロールを使用して、
サーバにアクセスしてファイルを取得するのがいいと思いますよ。
そのファイルがネットワーク越しで見える場所になければいけませんが。

#実際の話、設計そのものが間違っていると思いますが。
1

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