[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ダイアログボックスで選択肢』(前)
お世話になります。
ダイアログボックスで、例えば
メッセージ ”何を作成しますか?”
選択ボタン ”資料1” ”資料2” ”資料3”
選択したボタンで任意のファイルを開く
このような処理は可能でしょうか。
よろしくお願いします。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
(もこな2) 2019/01/14(月) 19:31
>マクロを使えばできそうですね。
どのような形になりそうですか?
ダイアログボックスでできるかなと使ったことがあるMsgBoxとInputBoxを調べてみましたが、質問内容のような使い方はできないのかなぁと。(間違えてたらすみません。。。)
本当に初心者なので複雑な処理のようでしたら別の手段を考えてみます。
(前) 2019/01/14(月) 19:45
だとすると、聞くより調べるほうが早いかもですね。
代理検索 キーワード「VBA ダイアログボックス」 https://www.moug.net/tech/exvba/0060013.html http://officetanaka.net/excel/vba/file/file02.htm
(もこな2) 2019/01/14(月) 19:56
あとは、オリジナルの「ダイアログ」を作成する必要があるでしょうから、ユーザーフォームについて調べてみるとよいかもです。
http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_080.html
(もこな2) 2019/01/14(月) 20:01
ユーザーフォームを使う場合 ラベル1 ボタン4個(1個は終了用)などデザインで配置して モードレスで起動すれば 開いたBOOKも編集できますよ。 閉じればまたフォームで選択可能だと思いますよ。 もこな2 さんのご紹介のページを参考にされれば、比較的、 簡単に実装出来るみたいですよ。
1.資料1〜3と同じフォルダに基本のマクロブックを作成 2.起動時に作成したユーザフォームをモードレスで表示 3.各コマンドボタンに資料?を開くマクロを記述
他にも様々な方法が有るかもですが、 とりあえず みたいな感じでしょうか。 (隠居じーさん) 2019/01/14(月) 23:49
おはようございます ^^ お望みのものではないかもしれませんが。。。何かの足しにでも。 BASE.xlsmに ユーザーフォームを挿入 ラベル1個 ボタン4個(1個は終了用)などデザインでテキトーに配置。^^; 各、オブジェクト名は下記コード(UserForm_Initialize。。。参考) の名前と同じにしてくださいね。 デザインでトラブルとCommandButton3のつもりが CommandButton16.。。。とかになってたりすることも無いとは言えない。 私だけかも A^_^;
使用ファイル(同フォルダに置く)
BASE.xlsm 資料1.xlsx 資料2.xlsx 資料3.xlsx
BASE.xlsmの ThisWorkbook モジュール
Option Explicit Private Sub Workbook_Open() Load UserForm1 UserForm1.Show vbModeless End Sub
UserForm1 モジュール
Option Explicit Private Sub CommandButton1_Click() Workbooks.Open ThisWorkbook.Path & "\" & "資料1" End Sub Private Sub CommandButton2_Click() Workbooks.Open ThisWorkbook.Path & "\" & "資料2" End Sub Private Sub CommandButton3_Click() Workbooks.Open ThisWorkbook.Path & "\" & "資料3" End Sub Private Sub CommandButton4_Click() Unload Me Application.Quit ThisWorkbook.Close False End Sub Private Sub UserForm_Initialize() Me.Label1.Caption = "何を作成しますか?" Me.CommandButton1.Caption = "資料1" Me.CommandButton2.Caption = "資料2" Me.CommandButton3.Caption = "資料3" Me.CommandButton4.Caption = "終了" End Sub (隠居じーさん) 2019/01/15(火) 07:57
Load UserForm1 は別に無くてもいいようですね。^^; m(_ _)m
(隠居じーさん) 2019/01/15(火) 08:02
「CommandButton1」の Caption → 資料1 「CommandButton2」の Caption → 資料2 「CommandButton3」の Caption → 資料3
としておいてから、
【標準モジュール】
Sub オリジナルダイアログ() UserForm1.Show End Sub
【フォーム(UserForm1)モジュール】
Private Sub CommandButton1_Click() Call ファイルオープン("資料1.xlsx") End Sub '-------------------------------------- Private Sub CommandButton2_Click() Call ファイルオープン("資料2.xlsx") End Sub '-------------------------------------- Private Sub CommandButton3_Click() Call ファイルオープン("資料3.xlsx") End Sub '-------------------------------------- Private Sub ファイルオープン(ファイル名 As String) Workbooks.Open "C:\aaa\bbb\" & ファイル名 Unload Me End Sub
あとは、なんらかの方法で「オリジナルダイアログ」を作動させるようにすれば希望の形になるようにおもいます。
(もこな2) 2019/01/15(火) 12:05
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.