- ベストアンサー
ユーザーフォームから別ブックを開きたい。
VBA初心者です。Windws10でOffice2021を使っています。 質問は、Aブックのユーザーフォームから別のBブック・Cブックをオプションボタンで選択して起動させる方法です。 また、その際にディスプレイ2に全画面で起動するというようなことはできますか? よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
横から失礼します。 別のブックを開くには Workbooks.Open ブックのファイルパス でOKです。 パスは下記のような感じです。 Workbooks.Open ("C:\example\Book2.xlsx") >ディスプレイ2に全画面で起動するというようなことはできますか? とりあえずキーボードショートカットで移動して全画面にするのが良いかと思います。 Win+shift+「→」(矢印キーはセカンドディスプレイのある方向) で移動し、移動後にそのまま「F11」で全画面。 これを自動でやるには、そのブックに開いたときにSendkeysで上記コマンドを実行するマクロを組めば行けるかと思います。 詳しくは下記を参考にしてみてください。 【PCの2画面モードで、毎回サブ画面でExcelを起動する方法を教えてください】 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14187634929
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
https://www.excel-ubara.com/excelvba3/EXCELFORM001.html のような記事があるから、それをなぞってやって見たら。どの段階でユーザーフォームを表示すべきなのか? Aブックを開いた時に表示するのが一番簡単だが。 コントロールの1種のオプションボタンでブック名を左右するのならユーザーフォームにオプションボタンを2つ張り付ける。 起動=ファイルを開く、は各オプションボタンのクリックClickイベントにでもファイルを開くコードを書く。 Private Sub OptionButton1_Click() MsgBox "OptionButton1 クリックされた" <==確認のためであって、不要ともいえるが。 '(Bブックを開くコードを書く) End Sub Private Sub OptionButton2_Click() MsgBox "OptionButton2 クリックされた" '(Cブックを開くコードを書く) End Sub 既にBブックなどが、開いていないか、などのチェックがややこしいが、必要かも。 --- >ディスプレイ2に全画面で起動するというようなことはできますか vBAでエクセルにしろ画面(ウインドウズ)を左右するのは、勉強が必要。=>普通のVBAの記事では少ない。 >ディスプレイ2に全画面で起動する、に関する記事は、特にWEBを調べて下さい。見たことはない。 関連APIでもあるのかな?
補足
早速のご返答ありがとうございます。 メッセージボックスが出るようにしたほうが良いというのはおっしゃる通りですね。ありがとうございます。 ただ、初心者ゆえ'(Bブックを開くコードを書く)この部分がわからなくて一番知りたい部分でもあります。 私の質問の仕方が悪かったようなので、本当に申し訳ありませんがカッコの中のコードの記述例を教えていただけるとありがたいです。 ディスプレイの件は場違いな質問をしたようでもうしわけありませんでした。気を悪くしないでください。APIもわかりません。 引き続きどうかよろしくお願いします。
お礼
ありがとうございます。出来ました! ディスプレイの方は私には難しすぎてまた次の課題にしようと思いますが、『出来る』ということが分かっただけでもこの先勉強していこうという励みになりました。 本当に感謝します。どうもありがとうございました。