1 情報基礎 A 第 9 週 プログラミング入門 VBA の基本文法 1 準備・変数・データの入出力 徳山 豪・全 眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野
2 プログラミングとは コンピュータに作業をさせる指示を作成する アルゴリズムの設計 論理の組み立て 「理詰め」の手順生成の訓練 プログラム言語による実装(コーディング) プログラム言語の習得 プログラムを読む プログラムを変更する デバッグ(プログラムの間違え直し)を行う
3 プログラミング心得 言語の習得: 習うより慣れろ 例を見て、それを真似て習得する This is a pen → This is a dog よい例を見るのが大切 (いい発音の英語を聞くのと同じ) 失敗して学ぶのが大切 This is a apple × ?? I is a man × ?? 間違えたプログラムを実行させると、システムが間違 えていることを教えてくれます 間違えた理由を推理する:論理力と想像力
4 実習で用いる VBA Visual Basic 言語 Basic 言語の拡張 オブジェクト指向型言語のフレーバーを持つ VBA: エクセルのマクロを記述する Visual Basic 言語の方言(エクセル地方の) マクロ: ソフトウエアで用いる特定の一連 の作業をプログラムとしてまとめたもの。 ユーザが自分に便利なものを作成する
5 実習のプラン エクセルのマクロ機能を用いる マクロの作り方 動作記録による自動生成 プログラミングによる作成 動作記録によって自動生成したマクロを手本 にする マクロを読む、変更する マクロを自分で作成する
6 プログラムを書くための準備 表示 → ツールバー → Visual Basic マクロ実行ボタン マクロ記録ボタン Visual Basic エディタ コントロールツール ボックス
7 セキュリティ設定 マクロウィルス マクロで作成された不正なプログラム マクロが含まれたファイルを開けないようにするた め警告 セキュリティレベルを「中」に変更 ツール → マクロ → セキュリ ティ
8 プログラムを書くための準備 Visual Basic エディタ コードの 表示
9 標準モジュールで記述 シートやフォームに関連しないコード プログラムを書くための準備 挿入 → 標準モジュール
10 もっとも簡単なプログラム メッセージ出力 Sub myprogram1() Msgbox “ こんにちは ” End Sub Msgbox “ ” メッセージボックスに書き出す機能 出力したいメッセージを記述
11 もっとも簡単なプログラム メッセージ出力 プログラム名(自分で名前を付ける) Sub myprogram1() Msgbox “ こんにちは ” Msgbox “ 情報基礎Aの時間です ” End Sub プログラムの 実行順序 メッセージボックスに書き出す 処理内容を記述
12 変数 値を入れておく箱のようなもの 変数の宣言 例:整数の値が入る “x” と言う名前の変数を用意 する 変数名は自分で決める Dim x As Integer Integer 型の変数 x を宣言する x aenglish seisu abc x1 水色の箱は整数の箱 ( Integer 型) 黄色の箱は文字の箱 ( String 型)
13 変数の宣言 Sub myprogram2() Dim x As Integer x=18 Msgbox x End Sub
14 変数の宣言 Sub myprogram2() Dim x As Integer x=18 Msgbox x Msgbox x End Sub
15 変数の宣言 Sub yeartrans1() ’ 平成を西暦に直すプログラム Dim x As Integer x=18 Msgbox “ 平成 ” & x & “ 年は西暦 ” & x End Sub
16 変数の宣言 Sub yeartrans1() ’ 平成を西暦に直すプログラム Dim x As Integer x=18 Msgbox “ 平成 ” & x & “ 年は西暦 ” & x End Sub コメント文 変数 x を導入。整数値であること を宣言 複数の要素をメッセージボック スに繋げて表示 プログラム中に記述する説明文 「 ’ 」を使いコメント文を書く 「 ’ 」から改行までの記述はプログラムに反映されない
17 データの入力 Sub yeartrans2() ‘ ‘ 平成を西暦に直すプログラム ‘ Dim x As Integer Dim y As Integer x= InputBox(“ 平成の年度を入力しなさい ” ) y = x Msgbox “ 平成 ”& x & “ 年は西暦 ” & y & ” 年です ” End Sub
18 データの入力 Sub yeartrans2() ‘ ‘ 平成を西暦に直すプログラム ‘ Dim x As Integer Dim y As Integer x= InputBox(“ 平成の年度を入力しなさい ” ) y = x Msgbox “ 平成 ”& x & “ 年は西暦 ” & y & ” 年です ” End Sub ユーザが入力したものをxとす る