生涯エンジニアの備忘録

アクセスカウンタ

zoom RSS エクセルVBAとアクセスDBの使い方(3) −会議室予約フォーム作成ー

<<   作成日時 : 2017/02/05 14:40   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

前回では、エクセルVBAをエクセルから利用できるようにしました。またフォームを新規作成して、ラベルとテキストボックスを一個づつ貼り付けるまでしました。ここでリボン下のアイコンの中にある実行アイコンをクリックしてVBAを実行してみます。
画像

結果は、下記のような普通のアプリのようなウィンドウが現れます。
画像

テキストボックスの中にカーソルが現れて点滅しています。ここからキー入力ができるようになります。まだ処理のプログラムを作っていませんので、キーボードで入力しても何も起こりません。ただ、簡単にアプリのようなものが作れることは理解できたでしょうか。
VBAでは、ラベルやテキストボックスなどをコントロールと呼んでいます。ツールボックス内にあるコントロールは起動時で16個しかありませんが、リボンの「ツール」のドロップダウンメニューから「その他のコントロール」を選ぶと、追加できるコントロールの一覧表が現れて、各チェックボックスにチェックを入れると、どんどん追加できます。17個目はすでに表示されていますが、これは私が追加したものです。
ラベルやテキストボックスは右下のプロパティウィンドウにひょうじされているように、いろいろなプロパティ項目を設計時に設定できます。プログラム内でも設定できますが、実行時に変更する必要のないものは、ここで設定しておいたほうが便利です。
例えば、ラベルでは、一番上の項目名が「(オブジェクト名)」となっていて、Label1となっています。プログラム内では、このオブジェクト名を使って、いろいろなプロパティやメソッドが使えるようになります。例えば、実行時に表示されるラベルのテキストは「Label1]となっていますが、これを会議室予約の「予約者名」に変更するには、フォーム画面内で、Label1をクリックし、プロパティウィンドウのCaption項目の右の値に「予約者名」と書き換えればいいわけです。
そうすると実行画面は次にように変わります。
画像

こうした要領で、会議室、利用日、利用開始時刻、利用時間をラベルとテキストボックスの組み合わせ作っていきます。
画像

そうすると、実行画面は次のようになります。
画像

さて、これで必要項目を入力する画面はできました。つぎは、入力された値をエクセルの表に書き出しするようにプログラムをつくりましょう。エクセルVBAの開発画面でリボンの「表示」→「コード」を選択すると、コードが表示されます。
画像

ウィンドウ内に
Private Sub UserForm1_Click()

End Sub
と表示されていますが、まだ何もプログラムはありません。上のサブルーチンプロシージャは、UserFom1がクリックされると実行される関数です。中身がないのでクリックしてもなにも実行されません。それでは、各テキストボックスになにか入力されて、すべて入力された後にエクセルに書き出すには、その実行を起こすコントロールが必要になります。ツールボックスの中で、コマンドボタンというものがあり、これをUserForm1に貼り付けます。
そして、フォームの設計画面でコマンドボタンをダブルクリックすると、自然にコード画面が現れて、Commandobutton1_Clickのサブが表示されます。
ここで、次のようなプログラムを書きます。
画像

実行して、各テキストボックスに、田中、会議室1、2017/2/6、10:00、1:00を入力します。
そして、最後に書き出しボタンをクリックすると、エクセルに入力した内容が書き出されます。
画像

なにもなかったエクセルシートにフォームで入力された内容が書き出されました。

テーマ

注目テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
エクセルVBAとアクセスDBの使い方(3) −会議室予約フォーム作成ー 生涯エンジニアの備忘録/BIGLOBEウェブリブログ
文字サイズ:       閉じる