• ベストアンサー

VBAからVB.Netで作成したフォームの起動

Wordマクロで下記のような動作をすることができますでしょうか? (1) WordマクロからVB.Netのフォームを起動 (2) (1)で起動されたフォーム上のOKボタンをクリックすると、フォームに入力されたデータを   WordVBA側が受け取り、処理を行う。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

できます。 Public Sub test() Dim obj As ClassLibrary1.Class1 Set obj = New ClassLibrary1.Class1 Dim resut As ClassLibrary1.ResultClass Set result = obj.Show() Call MsgBox(result.Result1 & ", " & result.Result2 & ", " & CStr(result.Result3)) End Sub

erieru103
質問者

お礼

naktak 様 回答があったことを知らず、 返信が遅くなり、大変申し訳ございません。 自分で考えた方法でなんとか実現できましたが、 全然正規なやり方ではないと思いますので、 ご回答いただいた方法でも確認してみたいと思います。 どうもありがとうございました。

関連するQ&A

  • VBからVBAを起動させる

    VBでボタンを押すとワードのマクロが実行されるようにしたいのですが・・・。 処理手順 1.テキストボックスの中身をワードへ(クリップボードを利用) 2.それをwebページとして保存 1は解決することができました。 2がどうしてもできません。 webページとして保存するマクロを保存。 それのマクロをVB6.0で実行させたいのですが、どうすればいいのでしょうか?

  • Accessで起動時にフォームが開かれるのですが・・・

    Accessで起動時にフォームが開かれるようになっていて、そこに設置してあるマクロボタンをクリックするとメインフォームが開くようになっています。 このマクロボタンをクリックしメインフォームを開いて、メインフォームに設置してあるテキストボックスに期間を入力してサブフォーム上にその期間内のみのデータが表示されるようにしてあるんですが、どういうわけか、そのテキストボックスにカーソルが移動しない為、入力できない状態になってしまいます。 デザインビューに切り替えた後、再度ビューを切り替えると、カーソルが移動できるようになるのですが、どのようにすれば、カーソルが移動するようになるのでしょうか?? どうぞご回答の程宜しくお願いいたします。

  • VB.NETでブラウザのフォームに入力する方法について

    VB.NETでブラウザに表示されたWEBページのフォームに データを入力したり、ラジオボタンの設定をしたりしたいのですが、 入力内容によってフォームの入力欄がEnabled = True や Falseに 切り替わる入力欄がある場合、VBでそのエレメントに データを設定してもフォームを送信などをした際に反映されていません。 例えばラジオボタンで選択A、選択B、その他という3つの選択があって、 その他を選択すると、テキスト入力エリアが入力可能になるというフォームです。 ブラウザに直接手動で設定を変更すれば、入力欄のEnabledが切り替わるのですが、 VBでラジオボタンを設定した場合は切り替わらず、Enabled = False の状態のまま VBでデータを設定しても受け付けられないようです。 この為、VBでデータを設定した際に、別の欄のEnabledの状態を変えたいのですが、 どのような方法でやれば良いでしょうか。ご教授いただければ幸いです。

  • EXCEL VBAから、VBのフォームを開くためには?

    EXCEL VBAからVBへプログラムを移そうと努力しています。 そこで、エクセルのシートのコマンドボタンを押すと、 VBで作成したフォームが開き、そこからEXCELの処理を させたいと考えています。 VBからエクセルの処理は Excel.Application のあたりをつかうことでなんとかなりそうなんですが その逆がわからず行き詰まっています。 EXCELは2000 VBは6.0 です ご存じの方、よろしくお願いします。

  • 複数のフォームの表示順を変えたいです

     いつもお世話になります。  昨日教えていただいたテーブル内の消費者データを姓をフォームから入力して 検索する処理の中でわからないことがあるので、また教えて下さい。  処理の流れとしては下記のようにしています。 (1)メインメニュー(フォーム) (2)検索メニュー(フォーム) (3)検索条件入力(フォーム) (4)検索実行(クエリ) (5)検索結果表示(フォーム) (3)のフォーム内の「検索」ボタンの埋め込みマクロで(4)と(5)を呼び出したあとに (3)と(4)を閉じるように指定しています。  (1)~(3)は順番に新しいフォームが一番前に表示されるのですが、(5)のフォームが後ろに  隠れていてクリックして前に出さないと見られません。  できれば(3)のフォームで「検索」ボタンをクリックすれば検索結果が一番前に表示される  ようにしたいのですが、できるでしょうか?  宜しくお願いします。

  • VB.NETでフォームがない状態でキー入力を受け付けたいです。

    VB.NETなのですが、Visible=Falseでフォームを見えないようにして 他のアプリを使用中でもキー入力を受け付けて、 そのキーに応じた動作をするプログラムを考えているのですが、 フォームがない状態でキーを受け付けるということはできるでしょうか? 大まかな方法でもかまいませんので、教えて頂きたいです。 よろしくおねがいします。m(__)m

  • VB.NETとEXE

    VB.NETで作成したフォーム(仮にメインフォームとします)にコマンドボタンを複数貼り付けています。 各コマンドボタンをクリックすると、それぞれの別のEXEが起動します。 (例 コマンドAをクリックすると、EXE-Aが起動、コマンドBをクリックするとEXE-Bが起動。両方一度に起動も可) この時、必ずメインフォームの上にEXEのフォームが重なるように表示されています。 そこで質問があります。 1、複数EXEが起動されている時、一番前面に表示されているEXEを識別する方法はありますか? 「現在アクティブなEXE」とは異なります。なぜなら、メインフォームをクリックすると、前面に表示されているEXEはアクティブな状態とはならないためです。 2、メインのフォームの右上にある「最大化」や「最小化」のボタンをクリックしたら、それに連動してEXEも最大化や最小化をするようにすることは可能でしょうか? すこしわかりにくいと思いますが、補足もしますので、アドバイスよろしくお願いします。

  • VB.NETのフォームの中にアプリケーションを起動したい

    VB.NETのフォームの中に別のアプリケーションを 起動したいのですが、そのようなことができましたら、 ヒントや方法をご教示頂きたいです。 よろしくお願いいたします。

  • VB.netでフォームのクローン

    VB.net2013にて、フォームアプリ作成中です。 アプリの構成としては、 Aフォーム、Bフォームの2画面があり Aフォームの呼出ボタンにより、フォームを呼び出す仕組みです。 Bフォームでは、データ編集できる 下記のような入力コントロールが多数配置されています。 ・テキストボックス ・スプレッドシート ・ラジオボタン ・ユーザコントロール各種 等々 ※Aフォームには、編集状態を保持するために Bフォームのインスタンスを保持しています。 Bフォームには、キャンセルボタンが配置してあり、 これにより編集状態を、画面を開きなおした段階まで戻したいと思っています。 Bフォームを表示する際に、 Aフォームの保持している、Bフォームのインスタンスを クローンコピーし退避しておくことで Bフォームクローンで元に戻そうと構想しています。 ◾︎案1ーーー memberwisecloneのクローンでは、 Bフォームの参照型のメンバをディープコピー出来ないようでした。 ーーーーーー ◾︎案2 ーーー 下記参考サイトより、 メモリ上に一旦シリアライズして、コピーする方法は、 基底であるFormクラスがシリアライズできないため こちらも出来ませんでした。 d.hatena.ne.jp/tekk/touch/20100131/1264913887 ーーーーーー フォーム上のコントロールをクローンする 他に良い方法はないでしょうか? 案1では、値型のメンバはmemberwisecloneでクローン出来たため 残りのコントロールをどのようにディープコピーするかで 悩んでいます。 InvokeMemberなるもので、対象のコントロールについて 別インスタンスを生成するというところは出来たのですが コントロールの編集途中までの各種プロパティ値までは 引き継がれませんでした。 やはり別インスタンスとしたところに 再度入力値を設定しなおしてあげる必要があるのでしょうか? 作業工数と、汎用性を考えると もっと他に良い方法があるのではないか とは思うのですが・・・ もしよりよい方法をご存知の方いらっしゃいましたら ご教授願います。よろしくお願いいたします。

  • エクセルのマクロでフォームを起動したときのフォーカス

    はじめまして。 表題の件ですが、 エクセルのマクロでフォームを作成し、 データ入力をしようとしています。 フォームを入力する際 一番最初に 使用するのはテキストボックスなのですが 起動する際 フォーカス位置はボタンで 一回テキストボックスをクリックしないと フォーカスが移動しません。 起動したときにテキストボックスに初期フォーカスを設定する方法を 教えて頂けませんでしょうか。 どうぞよろしくお願い致します。