アプリ版:「スタンプのみでお礼する」機能のリリースについて

EXCEL VBAからVBへプログラムを移そうと努力しています。

そこで、エクセルのシートのコマンドボタンを押すと、
VBで作成したフォームが開き、そこからEXCELの処理を
させたいと考えています。

VBからエクセルの処理は
Excel.Application
のあたりをつかうことでなんとかなりそうなんですが
その逆がわからず行き詰まっています。

EXCELは2000
VBは6.0
です

ご存じの方、よろしくお願いします。

A 回答 (4件)

>VBで作成したフォームが開き


Project1.exeでそのフォームが開くとすると、

'Excelの、シートのコードウインドウに貼り付けたコード
Private Sub CommandButton1_Click()
  Call Shell("D:\・・・\・・・・\Project1.exe", vbNormalFocus)
End Sub

で開くのでは?vbNormalFocusは好みです。こういう意味だったのでしょうか。


VBは持っていないので確かめていませんが『メモ帳』を指定したら開きました。(Excel2000です)

この回答への補足

早速の回答ありがとうございます。

この方法ですと、起動していないプログラムを
起動することになりますよね。

そうではなくて、
エクセルのシート上にあるボタンを押すと
すでに起動しているVBのプログラム上の
シートに対応したフォームがでてくるようにしたいんです。

流れとしては、
1 VBで作ったプログラム「VBtest1.exe」(c:\test\)を起動
2 VBtest1.exe内のfrmMainから、エクセルのxlstest.xlsを起動
3 xlstest.xlsのseet1上のボタンを押すと、VBtest1内のfrmSeet1が開く。
3-1 xlstest.xlsのseet2上のボタンを押すと、VBtest1内のfrmSeet2が開く。

とこんな感じにしたいのです。
このような方法を実現する方法がありましたら教えてください。

補足日時:2002/05/11 23:16
    • good
    • 0

> xlstest.xlsのseet1上のボタンを押すと、VBtest1内のfrmSeet1が開く。



参考URLの方法で、VB側でExcel上のボタンのクリックイベントを認識できるかも

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=214053
    • good
    • 0
この回答へのお礼

出張で4日ほどチェックができなくてお礼が遅くなりました。
そういう方法もあるんですね。
一度チャレンジしてみます。

お礼日時:2002/05/17 09:43

EXCELのVBAとVBの連携を使用されているみたいですがすべてVBで開発されるのはどうですか?

この回答への補足

回答ありがとうございます。
本当はそのようにするのがBESTなんですが
私のスキル不足から、そこまで至っておりません。

OLEコンテナを利用して、VB内でExcelを
コントロール使用としたのですが、思うように
できず、あきらめてしまいました。

Excelのメニューバーに自分で作成したコントロールを
登録したような感じにしたいのですが

OLEコンテナを使うと編集の時、Excel独自の
メニューバーもでてきてしまうことと、ワークシートのサイズが
制限されてしまうことがうまく解決できませんでした。

理想は、エクセルが画面いっぱいに表示し、その前面にVBのフォームが常に
表示され、そこからワークシートの処理をさせることができるといいなと
思っています。

そうなるとVBとVBAの連携が必要なのではないでしょうか?
VBだけで解決できる道はあるんでしょうか?

補足日時:2002/05/17 10:51
    • good
    • 0

VBでExcelを用いる場合にはCreateObjectを用いて開発するのですが


この方が慣れると楽ですし、実行時の処理速度も速いです。
後、機能追加がある場合に開発手段が増えます。
    • good
    • 0
この回答へのお礼

なるほど CreateObject というものを初めて知りました。
もう一度勉強し直してチャレンジしてみようと思います。

今回はこれで一度締め切ろうと思います。
また行き詰まった時には質問すると思いますので、そのときには
またよろしくお願いします。

よいアドバイスありがとうございました。

お礼日時:2002/05/18 08:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!