[リストへもどる]
一括表示

投稿時間:2004/05/18(Tue) 09:24
投稿者名:キューブ
Eメール:
URL :
タイトル:
VBからEXCELへ値を入れたい
はじめまして。VBで悩んでおります。(超初心者です)

 MS-ACCESSで作ったデータを、VBで読み込み、EXCELで作ったフォームに出力するという
 プログラムを作っています。
 
 出力したいデータは、ACCESSの中に揃っています。
 あとは、EXCELで作った表の中の、それぞれ指定の場所に出力するというものです。

 具体的には学校の成績表のようなもの。エクセル上には全科目名があらかじめ書き込ん
 であり、そのうち、受講している科目のところだけに、評定と単位が入るようにしたい。

 生徒ごとの受講科目、評定、単位はアクセスで抽出済み。あとはエクセルへ受講している
 科目のところだけに、評定と単位が入るようにしたい。

 現在のところ、全出力科目と、全出力位置をテキストファイルに持たせ、それを読み込んで
 アクセスから取り込んだ科目名と一致するなら、その適応場所へ出力させるように作ってい
 ますが、なんかうまくいきません。

 VBからエクセルへ出力する際、条件によって、指定した位置のセルへ出力する、良いサン
 プルは、ありませんでしょうか? 

投稿時間:2004/05/18(Tue) 10:24
投稿者名:nobu
Eメール:
URL :
タイトル:
Re: VBからEXCELへ値を入れたい
>  現在のところ、全出力科目と、全出力位置をテキストファイルに持たせ、それを読み込んで
>  アクセスから取り込んだ科目名と一致するなら、その適応場所へ出力させるように作ってい
>  ますが、なんかうまくいきません。

具体的にはどの様に上手く行かないのでしょうか?
抽象的では無くて該当個所のコードを提示した方が良いのでは?

>  VBからエクセルへ出力する際、条件によって、指定した位置のセルへ出力する、良いサン
>  プルは、ありませんでしょうか? 

今回の状況にあった都合の良いサンプルばかりは無いのでは。
ここのHPの「MSFlexGrid関係」「データーを入力する」が
成績表のようですね。データを読み込み、全て表示で
一致した箇所にと言う処理は含まれませんが。
一致したらと言う処理を加えるなら、これの場合には
アクセスのデータが「加藤愛子」ならエクセル側のセル1を
行1から順次名前を取得し一致する行(例では Row = 3)を求めて
科目が数学ならセルの4を求めて、ここに成績を書くと言う処理です。 
この繰り返しをすれば良いのでは。項目数が多ければそれなりに。

アクセスからの情報は一旦csvなどのファイルに書き出しされているのかと
思いますが、エクセルとのデータを単純に比較して該当個所に、対象データを
書き込むだけの処理かと思います。
エクセル上の各項目のセル位置(横方向)、行方向の生徒名や
アクセスからのデータを整えて、条件を整理して順次処理を
するだけの事と思います。

処理手順は分かっていて同様にやられているとは思うので
コードを提示して不具合箇所を探してもらうのが早道かと思います。

投稿時間:2004/05/19(Wed) 01:12
投稿者名:Say
Eメール:
URL :
タイトル:
Re: VBからEXCELへ値を入れたい
書籍ですが、技術評論社の
「はじめてのWindows Scripting Host」(ISBN4-7741-0650-X)
が参考になるかも。
VBSですが、Access,Excel,Word連携の解説が載ってます。

VB用に書き直すもよし、メモ帳で書いて実行するもよし、です。

投稿時間:2004/05/20(Thu) 08:40
投稿者名:キューブ
Eメール:
URL :
タイトル:
Re: VBからEXCELへ値を入れたい
nobuさん、Sayさん、レスありがとうございます。

 早速参考に勉強させていただきます。
 試行錯誤で再チャレンジします。

 ありがとうございます。