Download presentation
Presentation is loading. Please wait.
1
VISUAL BASIC 劉 建華
2
VB と VBA Visual Basicは可視化対象プログラム言語である.それを使って,正式のWindows風のプログラムを作ることができる. Visual Basicの一部の機能は,Microsoft Excelの中に取り入れられ,Visual Basic Applicationと呼ばれる(略称はVBA).VBAは,VBより機能が少ないが,基礎の部分が同じである. これからVBAを用いて,下の二つの内容を紹介することにする. Excel Visual Basic 応用 2. ExcelでVBAの応用 VBA 基礎 基礎 1. VBプログラム製作の基礎
3
Excelで ツール ー> マクロー> Visual Basic Editor 新しいWindowが現れる.
(1/4) Enter the Editor Excelで ツール ー> マクロー> Visual Basic Editor 新しいWindowが現れる.
4
新しいWindowのメニューで 挿入ー>ユーザーフォーム 小さいWindowが現れる. タイトルバーにUserForm1と書かれている.
(2/4) Add a UserForm 新しいWindowのメニューで 挿入ー>ユーザーフォーム 小さいWindowが現れる. タイトルバーにUserForm1と書かれている.
5
(3/4) Interface of the Editor
これが,Visual Basic Editorのインターフェイスである.後ほど詳しく説明する.
6
(4/4) Modify the Font of Code
新しいWindowのメニューで ツールー>オプション 右のダイアログが現れる. エディタの設定ー>サイズ 16と設定してください.
7
(1/3) Simple Program (Add Button)
一緒に簡単なプログラムを作る. 1. UserForm1でボタンを作る. ②ドラッグする ①クリックする
8
(2/3) Simple Program (Add TextBox)
2. ボタンの下で,テクストボックスを作る. ①クリックする ②ドラッグする
9
(3/3) Simple Program (Add Code)
3. ボタンをダブルクリックして,コードのWindowが現れる. ①ダブルクリックする ②このWindowが現れる Private Sub CommandButton1_Click() TextBox1.Text = 2004 End Sub ③ここにコードを入力する. 一つの簡単なプログラムができた.
10
ツールバー中の三角 をクリックして,プログラムを実行する.
Run The Program ツールバー中の三角 をクリックして,プログラムを実行する. 実行すると, 右のようなWindowが現れる. ボタンをクリックすると,テキストボックスの中にコードに書いた文字が現れる. Windowの右上の×をクリックすると,プログラムが終了する. 2004
11
Feather of Visual Basic
1.インターフェイス C,Fortranなどは,インターフェイスがない. Visual Basicが,インターフェイスを持っている.可視化言語である.図や表を作ることができる.インターフェイスを自分で自由にデザインできる. 2.コンパイルの仕方 C,Fortranなどは,実行すると,すぐ計算する. Visual Basicは,実行しても,操作(例えば,ボタンを押すなど)しなければ,待機する.操作してから,動き始める.必要に応じて,多くのことができる.
12
(1/4) Example Program 1 Visual Basicを説明しながら,次のプログラムを作る.
長方形の長さと幅を入力して,面積と対角線長さを計算するプログラム 準備 Formの設計 Codeの編集
13
(2/4) Create a New UserForm
メニューバーから選択する. 挿入ー>ユーザーフォーム 新しいUserFormが現れる. タイトルバーにUserForm2と書かれている.
14
(3/4) Interface of Visual Basic Editor
Code/Form Switch Run Pause End Project Explorer UserForm Window Property Window Control Tool Box
15
(4/4) Design of Form & Code
VBプログラムはFormとCodeという二つの部分から成り立っている.プログラムを設計する時は,各々を設計しなければならない. UserForm Code
16
Formの設計 Formにコントロールを置く コントロールのPropertyを設定する
(1/8) Design Form Formの設計 Formにコントロールを置く コントロールのPropertyを設定する
17
ツールボックス中に,たくさんのコントロールがある. 計算するプログラムを作るとき,よく使用するのは,次の四つのコントロールである.
(2/8) Control in ToolBox ツールボックス中に,たくさんのコントロールがある. 計算するプログラムを作るとき,よく使用するのは,次の四つのコントロールである. Label TextBox ScrollBar CommandButton Formをクリックすると,ツールボックスが現れる.ツールボックスが現れない場合は,上のツールバー中の ボタンを押すと,それが現れる.
18
(3/8) Property Window Formの中に.あるコントロールを置く.このコントロールをクリックすると.左下のProperty Windowに,このコントロールについてのPropertyが表示される. Property Window 右クリック メニュー Property Windowが表示されない場合,コントロールを右クリックして, [プロパティ]を選択すると, Property Windowが現れる.
19
(4/8) Property of Control
Caption (オブジェクト名) Font Top Width CommandButton Left Height BackColor ForeColor Visible コントロールには,たくさんのpropertyがある.
20
(5/8) Edit the Property Formの中に.コントロールをクリックして,左下のProperty Windowに,左列のPropertyをクリックして,そして右の枠で,コントロールについてのPropertyが入力できる. ①クリックする ②クリックする ③新しい文字を入力する
21
(6/8)Change the Property
Propertyの設定は, 編集するとき手作業で設定できる. 実行するときコードで変更できる. 編集時 実行時
22
(7/8) Click the Control クリックの仕方による,作業の違い
クリックの仕方による,作業の違い 一回クリックすると.コントロールが選択される.Property Windowで,そのコントロールのPropertyを設定できる. ダブルクリックすると.コントロールについてのCodeが現れ る.Formに戻りたい場合は,左上のswitchを使う. 右クリックすると,メニューが現れる. [プロパティ]又は[コードの表示]を選択できる. 一回クリックして,もう一回クリックすると, LabelとCommandButtonの場合は,表の文字 を編集できる.(推奨できない.コントロールの 外で一回クリックして,編集を取消す)
23
(8/8) Draw the Interface コントロールを載せる前に,Formをクリックして,そのPropertyのFont中のSizeを16 に設定する.以後,置かれたコントロールでは,FontのSizeが自動的に16に設定される. ①クリックする ②クリックする ③クリックする ④クリックする
24
(8/8) Draw the Interface Formに,コントロールをのせて,文字を変えて,右下のインタフェイスを作る.
Formに,コントロールをのせて,文字を変えて,右下のインタフェイスを作る. Label,CommandButton上の文字はCaptionのPropertyである TextBox中の文字はTextのPropertyである
25
あるコントロールをダブルクリックすると,CodeのWindowが現れる.このコントロールについてのCodeを編集できる.
(1/4) Code of Control あるコントロールをダブルクリックすると,CodeのWindowが現れる.このコントロールについてのCodeを編集できる. ①ダブルクリックする ②コードが現れる
26
(2/4) Code of CommandButton1
CodeのWindowの中に,次のコードを入力. Dim a As Single Dim b As Single Dim s As Single Dim d As Single Private Sub CommandButton1_Click() a = Val(TextBox1.Text) b = Val(TextBox2.Text) s = a * b d = Sqr(a * a + b * b) TextBox3.Text = s TextBox4.Text = d End Sub 変数宣言 値を取得する 入力する時,大文字と小文字を区別しない.数式中のスペースを入力しなくてもよい.自動的に直される. 値を計算する 値を表示する
27
Formに戻って,Exit ボタンをダブルクリックして,次のCodeを入力する.
(3/4) Code of Exit Button Formに戻って,Exit ボタンをダブルクリックして,次のCodeを入力する. Dim d As Single Private Sub CommandButton1_Click() a = Val(TextBox1.Text) b = Val(TextBox2.Text) s = a * b d = Sqr(a * a + b * b) TextBox3.Text = s TextBox4.Text = d End Sub Private Sub CommandButton2_Click() End ①ダブルクリックする ②コードを入力する. これで,このプログラムの作成ができた.
28
(4/4) Run the Program ツールバー中の三角 をクリックして,プログラムを実行する.
ツールバー中の三角 をクリックして,プログラムを実行する. 20 30 40 30 600 1200 50 Calculateボタンをクリックすると,計算が行われ,結果が表示される.新たに,a と b の数値を入力して,もう一度計算すると,それらの数値に対応した結果が表示される. Exitボタンをクリックすると,プログラムが終了する.
29
VBプログラムの設計とは,Form と Code の二つの部分である. これは,VBの考え方である.
Method of VB VBプログラムの設計とは,Form と Code の二つの部分である. これは,VBの考え方である. コントロールを Formに置く. コントロールで イベントがおきる. コントロールの Property を設定する 作業する (計算ー>結果表示) Form Code
30
新しいユーザーフォームを挿入して,次のプログラムを作る. 立方体の長さと広さと高さを入力して,体積と表面積を計算するプログラム
Exercise Problem 1 新しいユーザーフォームを挿入して,次のプログラムを作る. 立方体の長さと広さと高さを入力して,体積と表面積を計算するプログラム
31
SUM=13+23+33+...+n3 上式のような計算を行うプログラムを作る. インターフェイスは下図のようにする.
(1/4) Example Program 2 SUM=13+23+33+...+n3 上式のような計算を行うプログラムを作る. インターフェイスは下図のようにする. n = ScrollBar Property: Max : 1000 Min : 0
32
プログラムを設計する前,各コントロールの作業を設計しなければならない.
(2/4) Plan of Program n = プログラムを設計する前,各コントロールの作業を設計しなければならない. イベント 作 業 TextBox1の数値が入力されると ScrollBarの値を変える ScrollBarの値が変わると TextBox1の数値を変える Calculateボタンがクリックされると 計算して,結果を表示する. Exitボタンがクリックされると 終了
33
(3/4) Code of Program Private Sub CommandButton1_Click()
n = Val(TextBox1.Text) For i = 1 To n Sum = Sum + i * i * i Next i TextBox2.Text = Sum End Sub Private Sub CommandButton2_Click() s = MsgBox("Are you sure to quit?", vbOKCancel) If s = 1 Then End Private Sub ScrollBar1_Change() TextBox1.Text = ScrollBar1.Value Private Sub TextBox1_Change() ScrollBar1.Value = Val(TextBox1.Text) n =
34
(4/4) Run the Program n = n = n = 数値を入力の替わりに,ScrollBarをスクロールして,nの値を変化させることができる. Exit ボタンがクリックされたあと,Dailogが出て来る,OKをクリックすると,終了する.
35
More Function of VB VBA の機能に制限がある. VBでは,PictureBoxとTimerというコントロールを使って,図表や動画などが作れる. VBを使うと,上図のようなリアルタイムの結果表示もできる. VBを使うと,独立の*.exeファイルを作成できる.
36
VBA in Excel Excel では,簡単な関数計算や関数グラフ作成ができる.しかし,∑Sin(nx),定積分などの計算は,直接できない. Excel では,VBAを使うことで,複雑な関数の計算,グラフ作成などの作業ができる. これから ExcelでのVBAの応用 について紹介する. Excel Visual Basic 応用 VBA 基礎 基礎
37
(1/7) Add the ToolBar Excelで,VBAを使うために,ツールバーの追加が必要.
使いやすくするため,それらをツールバーに並べる. ①右クリックする ③移動する ②選択する
38
ワークシートをUserFormとして使う. その中に,コントロールを置いて,Formの設計ができる.
(2/7) Use Sheet As Form ワークシートをUserFormとして使う. その中に,コントロールを置いて,Formの設計ができる. ツールバーのコントロールボタンをクリックすると,小さいツールボタンが現れる.同じボタンがあるので,これを消してもよい.
39
(3/7) Edit the Property of Control
コントロールを右クリックして,[プロパティ]を選択すると,PropertyのWindowが現れる.そこで,コントロールのPropertyの編集ができる.
40
(4/7) Edit the Code コントロールをダブルクリックすると,EditorのWindowが現れる.ここで,そのコントロールのコードを編集できる. タスクバーで,Excelを選択すると,Form編集ができる. Form編集 Code編集
41
(5/7) Edit & Run 先ほどの小さいボタンが,Down(押されたまま)の状態だったら,編集状態である.コントロールの編集,調整,コード編集などができる. ボタンがUp(押されていない)の状態だったら,実行状態である.コントロールをクリックすると,コードの内容を実行する.
42
(6/7) Cells(Row, Column) Excelで,VBAのプログラムを設計する時,TextBoxとLabelの替わりに,Excelのセルを利用できる.Cells(Row,Column)のふうに使われる. x = Cells(1, 2) Cells(3, 2) = x * Sin( x ) Cells(1,2) Cells(3,2)
43
(7/7) Example Program 3 Cells(1,2) Cells(3,2) ① ダブルクリックする ②コードを入力する
Private Sub CommandButton1_Click() x = Cells(1, 2) ‘ n = Val(TextBox1.Text) Sum = x * Sin( x ) Cells(3, 2) = Sum ‘ TextBox2.Text = Sum End Sub ②コードを入力する 実行状態にする.ボタンをクリックすると,結果がB3に現れる. B1に数値を再入力して,Enterキーを押して,ボタンをクリックすると,新しい結果が現れる.
44
Exercise Problem 3 同じワークシートで,他のボタンを作って,次の計算を行うプログラムを作る.
同じワークシートで,他のボタンを作って,次の計算を行うプログラムを作る. 1.円柱の高さと底面半径を入力して,体積と表面積を計算するプログラム. 2. 次式の結果を計算するプログラム.
45
(1/4) Draw the Graph Excelにおける,関数グラフの描き方 *数式により,横座標に対応する,縦座標を計算する.
*数式により,横座標に対応する,縦座標を計算する. *Excelの図表作成機能を使って,グラフを作る. f(8) y = f (x) f(7) f(4) f(3) f(2) f(1) f(0)
46
(2/4) Think About the Graph
a.VBAプログラムによって,セルに書き込める. Cells(x,y)=a b.繰り返し文によって,多くのセルに書き込める. For-Next などの繰り返し文 c.多くのセルの値によって,Excelで図表作成できる. このように考えると,Excelで,VBAを使って,グラフを作成できそうなことが分かる.
47
VBAを使って,グラフを描くときの手順を以下に示す. ①プログラムによって,セルに値を書き込む. ②手作業で,セルを選択して,グラフを作る.
(3/4) Create the Graph VBAを使って,グラフを描くときの手順を以下に示す. ①プログラムによって,セルに値を書き込む. ②手作業で,セルを選択して,グラフを作る.
48
(4/4) Flow Chart of Program
係数を読込み(あれば) Xに初期値を与える Yの値を計算する X,Yの値をセルに書込み Xに微小の量を足す Xの値が制限を超えない -> 終了 この中に,複雑な計算が行う
49
Y=Sin(a*x) のグラフを描く. Sheet2に移す.セルに文字を入れて,ボタンをのせる.
(1/6) Example Program 4 Y=Sin(a*x) のグラフを描く. Sheet2に移す.セルに文字を入れて,ボタンをのせる. ここに数値を入れよう
50
(2/6) Code of Example Program 4
Private Sub CommandButton1_Click() a = Cells(4, 5) Row = 1 x = 0 st: y = Sin(a * x) Cells(Row, 1) = x Cells(Row, 2) = y x = x Row = Row + 1 If x <= 6.3 Then GoTo st End Sub ボタンをダブルクリックして,コードを入力する.
51
ボタンをクリックして,実行状態にする. CommandButtonをクリックすると,セルに数値が入る.
(3/6) Run the Program ボタンをクリックして,実行状態にする. CommandButtonをクリックすると,セルに数値が入る.
52
(4/6) Select the Cells A1セルをクリックして,Ctrl と Shift キーを押したまま,方向キー → を押して,そして ↓ を押すと,数値が全部選択される.そして右側のScrollBarを使って,シートの上端に戻る. ① A1セルクリックする ② Ctrl と Shift → ↓ を押す ③ScrollBarを上端に移動する
53
次に図表ボタン をクリックして,散布図を選択する.三番目の線あり点なしの形式を選択して,関数のグラフを得る.
(5/6) Draw the Graph 次に図表ボタン をクリックして,散布図を選択する.三番目の線あり点なしの形式を選択して,関数のグラフを得る.
54
(6/6) Change the Efficient
aの値を再入力して,Enterキーを押して,ボタンをクリックすると,グラフも自動的に変わる.
55
(1/4) Think About Improvement
セルを クリックする 数値を 入力する Enter を押す ボタンを クリックする 今の操作が面倒だから,ScrollBar を利用できるようにする. Buttonがクリックされる. セルの値を読込む 作業をする ScrollBarが移動 ScrollBarの 値をセルに書込む セルの値を読込む 作業をする
56
ScrollBarをのせて,右クリックすると,PropertyのWindowが現れる.Min: 1,Max: 20 と設定する.
(2/4) Use the ScrollBar ScrollBarをのせて,右クリックすると,PropertyのWindowが現れる.Min: 1,Max: 20 と設定する. ① ダブルクリックする ②ScrollBarを作る ③右クリックする ④[プロパティ]を選択する ⑤Propertyを編集する
57
(3/4) Code of ScrollBar ScrollBarをダブルクリックすると, ScrollBarのCodeが現れる.その上のCommandButton1中のコードをコピーして,ScrollBar1のコードの中に貼り付ける.そして,一行目を入力する. Private Sub CommandButton1_Click() a = Cells(4, 5) Row = 1 x = 0 st: y = Sin(a * x) Cells(Row, 1) = x Cells(Row, 2) = y x = x Row = Row + 1 If x <= 6.3 Then GoTo st End Sub Private Sub ScrollBar1_Change() Row = Row + 1 If x <= 6.3 Then GoTo st End Sub Private Sub ScrollBar1_Change() Cells(4, 5)=ScrollBar1.Value a = Cells(4, 5) Row = 1 x = 0 st: y = Sin(a * x) Cells(Row, 1) = x Cells(Row, 2) = y x = x ①コードをコピーする. ③コードを入力する ②コードを貼り付ける
58
実行状態にして, ScrollBarを移動すると,グラフが自動的に変化する.前より,便利になる.
(4/4) Run the Program 実行状態にして, ScrollBarを移動すると,グラフが自動的に変化する.前より,便利になる.
59
次のグラフをかくプログラム.(下図が完成図【参考用】)
Exercise Problem 4 次のグラフをかくプログラム.(下図が完成図【参考用】)
60
Save the File VBでは,作ったプログラムは,独立のファイルだから,vbp,frm等の形式で保存される.exeファイルの作成もできる. VBAでは,Excelファイル中に,プログラムを作ったら,そのプログラムがExcelファイルの一部として存在する.つまり,Excelファイルを保存すると,そのプログラムも一緒に保存される. Visual Basic VBA in Excel *.vbp *.frm *.xls (VBA)
61
Open the File VBAのプログラムを含んでいるファイル(doc,xls etc.)を開くとき,次のダイアログが現れる.
62
(1/4)Comparision of Program
Basic Fortran C ... VB VF VC Formあり Formなし VBを薦める理由: ①将来,積分及び∑計算,図表製作の機会がある. ②分かりやすいから,学びやすい. ③手に入れやすい(Officeに付属している.) . ④Wordなどのソフトで,マクロの高級な操作ができる. ⑤対象プログラムである.これを基礎として,他のソフト にも使える.
63
(2/4) Object Programming
VBプログラムの設計とは,Form と Code の二つの部分である.各々のコントロールについて,Propertyを編集して,コードを書く,互いに制御する.これは,対象プログラムの考え方である. Private Sub ScrollBar1_Change() TextBox1.Text = ScrollBar1.Value End Sub Private Sub TextBox1_Change() ScrollBar1.Value = Val(TextBox1.Text) End Sub Private Sub CommandButton1_Click() n = Val(TextBox1.Text) For i = 1 To n Sum = Sum + i * i * i Next i TextBox2.Text = Sum End Sub Private Sub CommandButton2_Click() s = MsgBox("Are you sure to quit?", vbOKCancel) If s = 1 Then End
64
(3/4) Applications of Object Programming
対象プログラムの考え方が理解できると,他のソフトを理解する手助けになる.たとえば、Visual FoxPro,PowerBuilderなどのデータベース処理のソフトである. SIEMENSには,WinCC(Windows Control Center)という工業自動制御ソフトがある.それを使用する際,生産制御のパソコン画面を設計する必要がある. 電気専門とコンピュータ専門の業者は生産プロセスが分かっていない可能性が高い.そこで、化学工業技術者が自分の手で画面設計できることが望ましい.その画面設計は対象プログラムの延長上にある.
65
(4/4) Panel of Control System
PLC 64 ℃ 20 % VIA001 Temperature Steam Valve Water Level: FULL Water Valve: CLOSE OPEN CLOSE クリックされると VIA001=1 クリックされると VIA001=0
66
Computer is a Tool コンピューター言語は,計算の道具にすぎない. プログラムを書く上で,より重要なことは,その内容である.
数値計算において,言語より計算の作動原理が大切で,難しい. それに注意力を向けることが重要である. 実際応用 計算 原理 原則 コンピューター言語
67
Self-introduction 私は劉 建華と申します. 出身地は中国の東北地区の遼寧省です. 2000年北京理工大学を卒業しました.
私は劉 建華と申します. 出身地は中国の東北地区の遼寧省です. 2000年北京理工大学を卒業しました. その後二年間化学工業会社で働きました. 2002年10月日本に来ました. 一年間日本語学校で勉強しました. 2003年10月研究生として九州大学に入りました. 2004年3月修士として入学しました. どうぞよろしくお願いします.
68
Copyright (C) 2004 Liu Jianhua
Acknowledgments このスライドは下記のアドレスに掲載しております. 機械航空工学科の藤野さんから,スライドの校正していただき ました.また,四講座の方々に御協力をいただきました.そし て,機械学科の坂口先生に,ビデオ設備を貸していただきまし た,みなさまのお力を借りて,講座を行うことができました. 若輩者の私に,今回の講座を担当することをお許しいただい た,松隈先生に心からの感謝を申し上げます.私にとって,かけ がえのない経験になりました. 最後に御清聴いただいた皆々様,どうもありがとうございまし た! Copyright (C) 2004 Liu Jianhua
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.