スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

よくわかるノウハウバンク実践塾(JavaとVBA部品の紹介と勉強)

 ┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┿
    よくわかるノウハウバンク実践塾(JavaとVBA部品の紹介と勉強)
   (エクセルの初心者対象・プログラムの大革命)
http://vba.asai.net
 ┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━◇◆┿
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┏┓VBAをマスターして仕事を早くして給料をあげよう。儲かる会社にしよう☆
┗╋━━━━━━━━━━━━━━━━━━━━━━━━━━……………
 ┃    VBA実践塾は、VBAはプログラムを作るのではない
部品を修正して使うという考え方で実施しております。
 ☆。.:*:・’゜  ─ 部品の公開メルマガ No79─
  ……………━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┿
   よくわかるJava実践(部品を使うための知識その5)
 ┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━◇◆┿
┌─┐
│1├───────────────────────────────┐
└┬┘★前回は販売管理(その6)シートを使った          |
|   売上伝票シートへの登録を勉強しました★      |
 └────────────────────────────────┘
  前回は販売管理(その6)シートを使った売上伝票シートへの登録を勉強
  しました。
  今回はJavaの勉強です。
  今までJavaのプログラムに慣れるためにVBAと比べながら基本は同じだという
  考え方で違いをみながら勉強していきました。
  今回からはJava特有のクラスを使った説明に入って行きますのでVBAと比較
  するのはおさらばいたします。
  VBA実践塾もいろいろな人が集まってこられましたのでタイトルをノウハウバンク
  実践塾に変更いたします。
  ネットビジネスの専門家・経営マネージメントの専門家・QCを広めた専門家
  XXドームを立ち上げた元社長等のノウハウを集めるバンクを目指していきます。
  私自身もよくわかるJava実践の次はよくわかる古代史実践・よくわかる心理学実践
  と広げていこうと思っております。
  ノウハウバンク実践塾のコンセプト・体系図はこれから固めていきますが
  若い人たちに各自が経験したノウハウをお伝えすることをミッションにしていきます。
  今回私の26年間のビジネスの体験からのノウハウをおつたえします。
  結論はお客様に喜んでもらって適正な利益が得れば継続するということです。
  マーケティングの4Pから考えていきましょう。
  
  1つめproduct商品:私が扱っているITの商品は時代が求めている商品で扱いやすいです。
  特に新しい商品は売りやすいです。
  最初に手掛けた商品はパソコンでオーダーソフトを作る商品です。30年近く
  前ですのでオフコンが中心だったので売るのが楽でした。
  理由あって健康布団を販売したこともありましたが売るのは難しかったです。
  
  2つめprice価格:安いと売りやすいです。
  始め個人で事業をしていたためパソコンのオーダーソフトを30万で売っていました。
  当時オーダーソフトは300万位だったので売りやすかったです。
  私が代理店になったパッケージソフトのカスタマイズの商品も当時800万位の相場
  の中で400万位だったので相対的にやすくどんどん売れていました。
  
  3つめplace場所・流通チャンネル:事業の始めは文房具屋さんに3年間勤めてそこに
  パソコンを販売していました。毎日事務用品を配達している地域の会社だった
  ためはじめからお客さんがありました。
  独立したときもお客さんの方からついてきてくれましたので新規開拓の苦労をしらずに
  商売ができました。
  またパソコンソフトメーカーの関西の代理店になったのですが数が少なくて大手企業からの
  商談がよくはいってきました。
  社員を採用してからは売り上げを増やさないといけないのでパッケージソフトのカスタマイズ
  の会社の代理店になりそこからの紹介で事業が大きくなっていきました。
  理由あってメーカーからの紹介が来なくなりました。
  社員の給料を払うために別の販売チャンネルを探したり飛び込み営業もするように
  なりましたがたとえ受注になっても無理な注文で経営がうまくいかなくなりました。
  
  4つめpromotion広告:
  代理店の時はメーカーが雑誌・TV等で広告していましたのでその効果を利用させていただきました。
  3年前大手のパソコンスクール(ナガセキャリアプラザ)のフランチャイズに入り
  30万位でチラシを出したのですがまったく効果がありませんでした。
  本部が年間数千万円でインターネット広告をだしていますのでその効果を利用させていただいております。
  
  以上が私のビジネスの大きな流れですが継続はしておりますが中堅企業にはなっておりません。
  その理由は仲間のノウハウだれでも中堅企業になれるを勉強していなかったからです。
  http://www.seiton.jp/
  http://abenoj.jimdo.com/マネジメント講座/
  
  
   質問のある方またご意見のある方は自由にメールをしてください。
┌─┐
│2├───────────────────────────────┐
└┬┘★今回はJava(その5)Javaで電卓を作ろうの2回目を勉強します★|
 └────────────────────────────────┘
  今回はJava(その5)Javaで電卓を作ろうの2回目を勉強します。
  今回からはVBAから離れてJava独自のプログラムを勉強していきます。
  前回ももちろんクラスを使ってプログラムを書いていましたがカプセル化
  を意識せずにVBAのように動くことを説明していました。
  Javaの特徴はカプセル化が可能になりオブジェクト指向が出来るようになる
  ことです。
  これによって製造業のように部品を使ったシステム作りをめざしていきます。
  こっちを修正すればあっちを修正しなければいけないといった状況から
  逃げ出したいのが目的です。
  そのためにはprivateな変数・コンストラクタ・メソッドの書かれたクラス
  に慣れていきましょう。
  今回は足し算・引き算・かけ算・割り算を全て部品としてクラスで作ります。
  (1)変数に数字を記入した場合
  Tasizanクラスはフィールド変数su1.su2をprivateにしている。
  クラスの外からアクセスされないようにしている。
  メソッドsetSu1, setSu2を使って代入している。
  これによってカプセル化が可能になりオブジェクト指向が出来るようになる。
  メソッドはpublicであり外部から使用できる。

Tasizan.java
public class Tasizan{
private int su1;
private int su2;
private int kotae;
public void setSu1(int s1){
su1=s1;
}
public void setSu2(int s2){
su2=s2;
}
public void show(){
kotae=su1+su2;
System.out.println(su1+"+"+su2+"="+kotae);
}
}


Dentaku.java

public class Dentaku{
public static void main(String[]args){
Tasizan tasi=new Tasizan();
tasi.setSu1(10);
tasi.setSu2(20);
tasi.show();
}
(2)コンストラクタの利用1
public Tasizan()は引数のないコンストラクタであり初期化を行うメソッドです。
メソッドsetSu1, setSu2を使って値を代入しています。

public class Tasizan{
private int su1;
private int su2;
private int kotae;
public Tasizan(){
}
public void setSu1(int s1){
su1=s1;
}
public void setSu2(int s2){
su2=s2;
}
public void show(){
kotae=su1+su2;
System.out.println(su1+"+"+su2+"="+kotae);
}
}
public class Dentaku{
public static void main(String[]args){
Tasizan tasi=new Tasizan();
tasi.setSu1(10);
tasi.setSu2(20);
tasi.show();
}
}
(3)コンストラクタの利用2
public Tasizan(int s1,int s2)は引数s1,s2があるコンストラクタであり
Dentakuクラスで呼び出すときコンストラクタ内で初期化しているのですぐに使用できる。
Tasizan tasi=new Tasizan(10,20);

public class Tasizan{
private int su1;
private int su2;
private int kotae;
public Tasizan(int s1,int s2){
su1=s1;
su2=s2;
}
public void show(){
kotae=su1+su2;
System.out.println(su1+"+"+su2+"="+kotae);
}
}
public class Dentaku{
public static void main(String[]args){
Tasizan tasi=new Tasizan(10,20);
tasi.show();
}
}
(4)コマンド引数を使った場合
引数のないコンストラクタpublic Tasizan()を使っている
public class Tasizan{
private int su1;
private int su2;
private int kotae;
public Tasizan(){
}
public void Setsu1(int s1){
su1=s1;
}
public void Setsu2(int s2){
su2=s2;
}
public void show(){
kotae=su1+su2;
System.out.println(su1+"+"+su2+"="+kotae);
}
}
public class Dentaku{
public static void main(String[]args){
Tasizan tasi=new Tasizan();
tasi.Setsu1(Integer.parseInt(args[0]));
tasi.Setsu2(Integer.parseInt(args[1]));
tasi.show();
}
}

コマンド引数が足りなかった時のエラー処理
public class Tasizan{
private int su1;
private int su2;
private int kotae;
public Tasizan(){
}
public void Setsu1(int s1){
su1=s1;
}
public void Setsu2(int s2){
su2=s2;
}
public void show(){
kotae=su1+su2;
System.out.println(su1+"+"+su2+"="+kotae);
}
}
public class Dentaku{
public static void main(String[]args){
if (args.length<2){
System.out.println("引数は2つです");
System.exit(0);
}
Tasizan tasi=new Tasizan();
tasi.Setsu1(Integer.parseInt(args[0]));
tasi.Setsu2(Integer.parseInt(args[1]));
tasi.show();
}
}

(5)キーボードから数字の入力
引数のあるコンストラクタpublic Tasizan(int s1,int s2)を使っている
public class Tasizan{
private int su1;
private int su2;
private int kotae;
public Tasizan(int s1,int s2){
su1=s1;
su2=s2;
}
public void show(){
kotae=su1+su2;
System.out.println(su1+"+"+su2+"="+kotae);
}
}
import java.io.*;
public class Dentaku{
public static void main(String[]args)throws IOException{
System.out.println("数字を2つ入力してください");
BufferedReader br=new
BufferedReader(new InputStreamReader(System.in));
String str1 =br.readLine();
String str2 =br.readLine();
int s1=Integer.parseInt(str1);
int s2=Integer.parseInt(str2);
Tasizan tasi=new Tasizan(s1,s2);
tasi.show();
}
}


キーボードから数字の入力で引き算・かけ算・割り算のプログラムを作ってください。
引き算
クラスHikizanc.classとHikizan.class

public class Hikizanc{
private double x;
private double y;
public Hikizanc(double n1,double n2){
x=n1;
y=n2;
}
public void keisan(){
double kotae=x-y;
System.out.println("X="+x+" Y="+y+" x-y="+kotae);
}
}
import java.io.*;
public class Hikizan{
public static void main(String[]args)throws Exception{
BufferedReader br=new
BufferedReader(new InputStreamReader(System.in));
System.out.println("X=");
String str=br.readLine();
double x=Double.parseDouble(str);
System.out.println("Y=");
str=br.readLine();
double y=Double.parseDouble(str);
Hikizanc h=new Hikizanc(x,y);
h.keisan();
}
}
かけ算
クラスKakezanc.classとKakezan.class

public class Kakezanc{
private double x;
private double y;
public Kakezanc(double n1,double n2){
x=n1;
y=n2;
}
public void keisan(){
double kotae=x*y;
System.out.println("X="+x+" Y="+y+" x×y="+kotae);
}
}
import java.io.*;
public class Kakezan{
public static void main(String[]args)throws Exception{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("X=");
String str=br.readLine();
double x=Double.parseDouble(str);
System.out.println("Y=");
str=br.readLine();
double y=Double.parseDouble(str);
Kakezanc k=new Kakezanc(x,y);
k.keisan();
}
}
わり算
クラスWarizanc.classとWarizan.class

public class Warizanc{
private double x;
private double y;
public Warizanc(double n1,double n2){
x=n1;
y=n2;
}
public void keisan(){
double kotae=x/y;
System.out.println("X="+x+" Y="+y+" x÷y="+kotae);
}
}
import java.io.*;
public class Warizan{
public static void main(String[]args)throws Exception{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("X=");
String str=br.readLine();
double x=Double.parseDouble(str);
System.out.println("Y=");
str=br.readLine();
double y=Double.parseDouble(str);
Warizanc w=new Warizanc(x,y);
w.keisan();
}
}

  変数をプログラムの中に書くパターンからキーボードで入力する
  パターンをいくつか紹介しました。
  また引き算・かけ算・割り算と同じパターンのクラスを作るプログラムも
  紹介していますので、自分で入力してなれていってください。
  開発している人は毎日コードとにらめっこですからいやでもプログラムが
  自分のものになりますが勉強の人は優秀な人を除いて訓練以外ないと思います。
  
  次のJavaはフォームを使った電卓に入っていきます
  
  次回はVBA伝票印刷を勉強します。
┌─┐
│3├───────────────────────────────┐
└┬┘★ 習うより慣れろ                      |
| 練習問題・実践をすることです ★     |
 └────────────────────────────────┘
  VBA実践のメルマガの永い読者はまた同じことかと思われるかもしれませんが
  基本は同じですのでそれを何度も少し変わった面から作ることが本当の
  力になってくるのです。
  わかったと思って訓練をしないと実践力がつきません。
  キャリアアップをめざして頑張ってください。
┌─┐
│4├───────────────────────────────┐
└┬┘★6月のVBA&Java実践無料セミナーは             |
| 6月 7日(土)6月15日(日)6月22日(日)6月28日(土) 10:00~12:00|
| テーマ:転職に有利なプログラム言語のJavaとキャリアアップに |
|  最適なExcelVBAを実践に基づいてわかりやすく紹介するセミナー★|
 └────────────────────────────────┘
┌─┐
│5├───────────────────────────────┐
└┬┘★6月のVBA実践有料セミナーは 6月 1日(土) 21日(日) |
|    9:00~17:00 内容:VBA実践基礎       |
|    受講費用 ¥20,000(税抜・教材費込)     |
 └────────────────────────────────┘
┌─┐
│6├───────────────────────────────┐
└┬┘★ VBA実践塾の第1号「よくわかるVBA実践」CD版 |
| 発売中(価格5,000円)                |
| ご購入希望者はyahooショッピングにて販売中★          |
| http://store.shopping.yahoo.co.jp/vba/★            |
 └────────────────────────────────┘
┌─┐
│7├───────────────────────────────┐
└┬┘★ 現金主義会計ソフトCD版              |
| を発売しました(販売価格2,500円)         |
| ご購入希望者はamazonにて販売中)★            |
|http://www.amazon.co.jp/(現金主義会計ソフトで検索してください)|
|簿記は難しい。しかし税務申告はこの簿記の考え方を採用しています。|
|この会計は、最小の努力で税務申告も可能な決算書が完成できるように|
|工夫しました。指示に従って初歩の簿記知識もマスターしましょう。 |
 └────────────────────────────────┘

 ──────────────────────────────────
  次のOdysseyのサイトに漫画でVBAを説明していますので参考にしてください
  http://vbae.odyssey-com.co.jp/column/

 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 □■セミナー場所・お問い合わせ先
大阪市阿倍野区阿倍野筋3-12-2-111
ナガセキャリアプラザ アベノ校
VBA実践塾 塾長 浅井良一
http://vba.asai.net
ryoichi@asai.net
電話0120-555-309
スポンサーサイト

よくわかるVBA実践塾(JavaとVBA部品の紹介と勉強)高齢化社会のねつと塾

 ┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┿
    よくわかるVBA実践塾(JavaとVBA部品の紹介と勉強)
   (エクセルの初心者対象・プログラムの大革命)
http://vba.asai.net
 ┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━◇◆┿
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┏┓VBAをマスターして仕事を早くして給料をあげよう。儲かる会社にしよう☆
┗╋━━━━━━━━━━━━━━━━━━━━━━━━━━……………
 ┃    VBA実践塾は、VBAはプログラムを作るのではない
部品を修正して使うという考え方で実施しております。
 ☆。.:*:・’゜  ─ 部品の公開メルマガ No78─
  ……………━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┿
   よくわかるエクセルVBA実践(部品を使うための知識)
 ┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━◇◆┿
┌─┐
│1├───────────────────────────────┐
└┬┘★前回はVBAとJava(その4)             |
|   Javaで電卓を作ろうを勉強しました★      |
 └────────────────────────────────┘
  前回はVBAとJava(その4)Javaで電卓を作ろうを勉強しました。
  今回はVBAの勉強です。
  今回は財務管理システムのシートを使った仕訳伝票入力
  http://vba.asai.net/szaimu1_2.html
  フォルダー内の特定の名前のついたCSVファイルを1つのブックに取り込む
  プログラム
  http://vba.asai.net/scsvtorikomi.html
  を追加しました
  勉強に来られている生徒さんからの要望で得意のつくCSVファイルを1つの
  ブックにまとめたいということです。
  早速ヤフーの検索に
  vba ファイルを1つのブックにまとめる
  を入力すると
  モーグmougさんのサイト
  http://www.moug.net/tech/exvba/0060003.html
  が見つかりました。
  それを使わせていただいたらすぐにできました。
  インターネットの素晴らしさと情報提供の方の好意に感謝させていただきました。
  価値ある情報を活かすようにするには勉強していないといけません。
  このサイトVBA実践塾
  http://vba.asai.net
  は勉強に来られる方の課題、生の事例を私がサンプルを提供して完成するなかで
  本人の了解をもらって公開しております。
  もちろん私自身の40年のノウハウもほとんど公開しております。
  今後Javaのアプリケーションも同じように公開していく予定です。
  これがこれからの個人・個人が会社に頼らず自分の経験したノウハウを公開していき
  社会にお役にたち自分で稼ぐ自助独立の社会になっていくのではないかと
  思います。
  私の仲間で運営しているねつと塾
  http://www.netjuku.co.jp/
  はこれからの高齢化社会の生き方の事例として成功事例をどんどん公開
  していく予定です。
  では、今回の生徒さんの課題2つのブックから伝票No・得意先・金額等の
  データを比べながら集計シートを作り出す仕事です。
  毎日エクセルでしている仕事ですので仕事の内容がよくわかっています。
  どのようにしてVBAで合理化できるのかがすぐに見えないのが問題点だと
  思います。
  これは仕事をデータベース的に分解して単純に考える訓練が少ないからだと
  おもいます。
  私はそのようなことを40年近くしてきたので自然に身についております。
  あいまいな情報から見える小さなブロック(部品)におとしこむことだと
  思います。
  1つのブックの伝票Noのだぶりだけをまず考えていきます。
  (1)伝票Noを並び替えた作業シートを作る
  (2)伝票Noを変数に代入して行の伝票Noと比較しながら同じ(だぶった)
  データを別の作業1シートに転記します。
  (3)別のブックも同じようにします
  (4)だぶらないブック2つをもとに処理を考えていきます。
  このように1つ1つシートを作っていけば目で見えて理解しやすいと思います。
  昔アセンブラーでファイルを作っていた時のことを考えれば信じられない環境に
  なっています。
  
   質問のある方またご意見のある方は自由にメールをしてください。
┌─┐
│2├───────────────────────────────┐
└┬┘★今回は販売管理(その6)シートを使った            |
|   売上伝票シートへの登録を勉強します★     |
 └────────────────────────────────┘
  今回は販売管理(その6)シートを使った売上伝票シートへの登録を勉強
  します。
  vba実践塾の販売管理・売上伝票登録を参考にしてください。
  http://vba.asai.net/shanbai2_1.html
  目的は入力した伝票を利用するために売上明細シートに行単位で追加
  することです。
  4行すべて追加するのであればFor文で4回繰り返せばよいのですが
  空白行まで追加されてしまいます。
  If Cells(7 + j, 2) = "" Then
Exit For
End If
  を使って商品コードが空白の時繰り返しから抜けるようにします。
  売上明細シートに追加するときは最後の行+1から追加しますので行No
  をiに代入しています。
  繰り返しの中で使われている変数iとjの使い方を理解してください。
  登録後は次の伝票を入力するためにクリアすることと照会に使うために
  伝票Noに1を加算しています。
  
  Sub 売上登録()
Dim i As Long
Dim j As Long
'最終行を見つける
i = Worksheets("売上明細").Cells(Rows.Count, 1).End(xlUp).Row
For j = 1 To 4
If Cells(7 + j, 2) = "" Then
Exit For
End If
Worksheets("売上明細").Cells(i + j, 1) = Cells(1, 5)
Worksheets("売上明細").Cells(i + j, 2) = Cells(2, 5)
Worksheets("売上明細").Cells(i + j, 3) = Cells(4, 5)
Worksheets("売上明細").Cells(i + j, 4) = Cells(5, 5)
Worksheets("売上明細").Cells(i + j, 5) = Cells(7 + j, 2)
Worksheets("売上明細").Cells(i + j, 6) = Cells(7 + j, 3)
Worksheets("売上明細").Cells(i + j, 7) = Cells(7 + j, 4)
Worksheets("売上明細").Cells(i + j, 8) = Cells(7 + j, 5)
Worksheets("売上明細").Cells(i + j, 9) = Cells(7 + j, 6)
Next
'伝票のデータをクリアにする
Cells(1, 5) = ""
Cells(2, 5) = ""
Cells(4, 5) = ""
Cells(5, 5) = ""
For i = 1 To 4
Cells(7 + i, 2) = ""
Cells(7 + i, 3) = ""
Cells(7 + i, 4) = ""
Cells(7 + i, 5) = ""
Cells(7 + i, 6) = ""
Next
Cells(12, 6) = ""
Cells(13, 6) = ""
Cells(14, 6) = ""
i = Worksheets("売上明細").Cells(Rows.Count, 1).End(xlUp).Row
Cells(1, 5) = Worksheets("売上明細").Cells(i, 1) + 1
End Sub
次の説明は伝票印刷の予定です。

  
  次回はVBAとJava(その5)Javaで電卓を作ろうの2回目を勉強します。
┌─┐
│3├───────────────────────────────┐
└┬┘★ 習うより慣れろ                      |
| 練習問題・実践をすることです ★     |
 └────────────────────────────────┘
  VBA実践のメルマガの永い読者はまた同じことかと思われるかもしれませんが
  基本は同じですのでそれを何度も少し変わった面から作ることが本当の
  力になってくるのです。
  わかったと思って訓練をしないと実践力がつきません。
  キャリアアップをめざして頑張ってください。
┌─┐
│4├───────────────────────────────┐
└┬┘★5月6月のVBA&Java実践無料セミナーは            |
| 5月24日(土) 10:00~12:00              |
| 6月 7日(土)6月15日(日)6月22日(日)6月28日(土) 10:00~12:00|
| テーマ:転職に有利なプログラム言語のJavaとキャリアアップに |
|  最適なExcelVBAを実践に基づいてわかりやすく紹介するセミナー★|
 └────────────────────────────────┘
┌─┐
│5├───────────────────────────────┐
└┬┘★6月のVBA実践有料セミナーは 6月 1日(土) 21日(日) |
|    9:00~17:00 内容:VBA実践基礎       |
|    受講費用 ¥20,000(税抜・教材費込)     |
 └────────────────────────────────┘
┌─┐
│6├───────────────────────────────┐
└┬┘★ VBA実践塾の第1号「よくわかるVBA実践」CD版 |
| 発売中(価格5,000円)                |
| ご購入希望者はyahooショッピングにて販売中★          |
| http://store.shopping.yahoo.co.jp/vba/★            |
 └────────────────────────────────┘
┌─┐
│7├───────────────────────────────┐
└┬┘★ 現金主義会計ソフトCD版              |
| を発売しました(販売価格2,500円)         |
| ご購入希望者はamazonにて販売中)★            |
|http://www.amazon.co.jp/(現金主義会計ソフトで検索してください)|
|簿記は難しい。しかし税務申告はこの簿記の考え方を採用しています。|
|この会計は、最小の努力で税務申告も可能な決算書が完成できるように|
|工夫しました。指示に従って初歩の簿記知識もマスターしましょう。 |
 └────────────────────────────────┘

 ──────────────────────────────────
  次のOdysseyのサイトに漫画でVBAを説明していますので参考にしてください
  http://vbae.odyssey-com.co.jp/column/

 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 □■セミナー場所・お問い合わせ先
大阪市阿倍野区阿倍野筋3-12-2-111
ナガセキャリアプラザ アベノ校
VBA実践塾 塾長 浅井良一
http://vba.asai.net
ryoichi@asai.net
電話0120-555-309

よくわかるVBA実践塾(JavaとVBA部品の紹介と勉強)

 ┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┿
    よくわかるVBA実践塾(JavaとVBA部品の紹介と勉強)
   (エクセルの初心者対象・プログラムの大革命)
http://vba.asai.net
 ┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━◇◆┿
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┏┓VBAをマスターして仕事を早くして給料をあげよう。儲かる会社にしよう☆
┗╋━━━━━━━━━━━━━━━━━━━━━━━━━━……………
 ┃    VBA実践塾は、VBAはプログラムを作るのではない
部品を修正して使うという考え方で実施しております。
 ☆。.:*:・’゜  ─ 部品の公開メルマガ No77─
  ……………━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┿
   よくわかるエクセルVBA実践(部品を使うための知識)
 ┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━◇◆┿
┌─┐
│1├───────────────────────────────┐
└┬┘★前回は販売管理の5回目売上伝票登録            |
|   エクセルシートを使った伝票登録を勉強しました★     |
 └────────────────────────────────┘
  前回は販売管理の5回目売上伝票登録エクセルシートを使った伝票登録
  を勉強しました。
  先週公開しましたフォームを使った仕訳伝票入力のプログラム
  http://vba.asai.net/szaimu1_1.html
  と比べていかに簡単かがわかられたと思います。
  やる気と興味があればだれでもプログラミングができるということが
  VBA実践塾のコンセプトです。
  しかしフォームを使った仕訳伝票入力のプログラムの科目検索は科目コード
  入力の場合は今まで勉強してきたから理解でき使える。
  しかしスペース検索でHELPウインドウから検索するプログラムは関数の戻り値に
  PlbshowDialog = -1のような変数名を使っていたりして使えば便利なのはわかる
  が難しくて使えないという声が聞こえてきます。
  私も最初意味がわからず使いにくかったのを思い出します。
  これが完全な部品であれば簡単に使うことができます。
  このような部品は私の知っている限りほとんど公開していません。
  各企業の財産であり、収益源であるからだと思います。
  それは企業を守るためにあたりまえのことだと思いますが、世の中
  インターネットの普及に伴いオープンソースが多くなってきております。
  私のような零細企業ではソース・ノウハウをオープンにして信用を付ける
  ことが生き残り策だと思います。
  それに関連する付加価値のあるサービスを有償でいただくというビジネス
  モデルです。
  今年中にVBA実践塾のホームページhttp://vba.asai.net/index.html
  のようにJavaの実践ソースを公開していくホームページを立ち上げる
  ために準備中です。
  今後の予定は今回から始まる電卓・ネットショッピングそして会員管理
  の完全な部品として使えるJavaのソースを公開する予定です。
   質問のある方またご意見のある方は自由にメールをしてください。
┌─┐
│2├───────────────────────────────┐
└┬┘★今回はVBAとJava(その4)Javaで電卓を作ろうを勉強します★|
 └────────────────────────────────┘
  電卓の計算の基本+-×÷の式の使い方からフレーム(フォーム)を
  使ったサンプルを勉強していきます。
  そのなかでクラスの考え方カプセル化、継承、多様性を少しずつ理解して
  いこうと思っております。
  足し算
  (1)プログラムに数字を記入した場合
public class Tasizan{
public static void main(String[]args){
System.out.println("10+20"+"="+(10+20));
}
}
  VBA
Sub dentakum()
MsgBox "10 + 20 = " & (10 + 20)
End Sub
  (2)変数に数字を記入した場合
public class Tasizan{
public static void main(String[]args){
int s1;
int s2;
int kotae;
s1=10;
s2=20;
kotae=s1+s2;
System.out.println(s1+"+"+s2+"="+kotae);
}
}
  VBA
Sub dentaku()
Dim s1 As Long
Dim s2 As Long
Dim kotae As Long
s1 = 10
s2 = 20
kotae = s1 + s2
MsgBox s1 & "+" & s2 & "=" & kotae
End Sub
  ここまで作っていけばVBAの時もそうだったように毎回データをプログラム
  の中に入力しなければいけません。
  次は外部からデータを入力するパターンを紹介します。
  (3)コマンド引数を使った場合
public class Tasizan{
public static void main(String[]args){
System.out.println(args[0]);
System.out.println(args[1]);
System.out.println(args[0]+
"+"+args[1]+"="+(Integer.parseInt(args[0])+Integer.parseInt(args[1])));
}
}
  java Tasizan 10 20を入力します。
  args[0]に10  args[1]に20が代入されますが、argsはString型文字列のために
  計算をしません数字型に変換しないといけないといけません。
  変換関数Integer.parseIntを使って変換します。
  IntegerはVBAのような関数ではなくクラスです。ホームページを参考してください。
http://docs.oracle.com/javase/jp/1.5.0/api/java/lang/Integer.html
  ObjectクラスからNumberクラスへと継承してIntegerクラスのparseIntメソッドを
  使っているのがわかってこられるでしょう。
  Javaのプログラムはクラスの集まりであり、オープンになっているクラスを継承して
  自分の新しいクラスを作っていくやり方です。
  訓練してなれていくことだと思います。
  VBAの関数文字型を数字型に変える関数VALは便利で数字だけであれば関数を使わなくても
  数字と判断してくれます。
  VBA
Sub test()
Dim moji As String
moji = "1"
MsgBox moji * 2
End Sub
  VAL関数を使った例
Sub test()
Dim moji As String
moji = "1円"
MsgBox Val(moji) * 2
End Sub
  (4)コマンド引数と変数を使った場合
public class Tasizan{
public static void main(String[]args){
int s1;
int s2;
int kotae;
s1=Integer.parseInt(args[0]);
s2=Integer.parseInt(args[1]);
kotae=s1+s2;
System.out.println(s1+"+"+s2+"="+kotae);
}
}
  コマンド引数が足りなかった時のエラー処理
public class Tasizan{
public static void main(String[]args){
if (args.length<2){
System.out.println("引数は2つです");
System.exit(1);
}
int s1;
int s2;
int kotae;
s1=Integer.parseInt(args[0]);
s2=Integer.parseInt(args[1]);
kotae=s1+s2;
System.out.println(s1+"+"+s2+"="+kotae);
}
}
  (5)キーボードから数字の入力
  キーボードから数字の入力ができるようにjava.io.*のクラスが使えるようにインポートします。
  *は同じパッケージ内のクラスをすべて取り込むことができますがサブパッケージ内
  のクラスはとりこみできません。
  BufferedReaderとInputStreamReaderのクラスを使っています。
  コマンド引数を入力するよりもより親切で2つの数字を入力します。
import java.io.*;
public class Tasizan{
public static void main(String[]args)throws IOException{
System.out.println("数字を2つ入力してください");
BufferedReader br=new
BufferedReader(new InputStreamReader(System.in));
String str1 =br.readLine();
String str2 =br.readLine();
int s1=Integer.parseInt(str1);
int s2=Integer.parseInt(str2);
int kotae=s1+s2;
System.out.println(s1+"+"+s2+"="+kotae);
}
}
  VBA
Sub dentakuk()
Dim s1 As Long
Dim s2 As Long
Dim kotae As Long
Dim atai As String
Dim kanmaiti As Long
Dim atainagasa As Long
atai = InputBox("数字を2つカンマでつないで入力してください")
atainagasa = Len(atai)
kanmaiti = InStr(atai, ",")
s1 = Mid(atai, 1, kanmaiti - 1)
s2 = Mid(atai, kanmaiti + 1, atainagasa - kanmaiti)
kotae = s1 + s2
MsgBox s1 & "+" & s2 & "=" & kotae
End Sub
  JavaもなれたらVBAと同じだということがわかってくると思います。
  しかしVBAではプログラムの完全な部品化は難しいし、需要のあるアンドロイド
  タブレットの開発はできません。
  しかしJavaをマスターすることはクラスを理解しカプセル化・継承・多様性を
  使えるようにならないと完全な部品化ができませんので次回からそれらに例題
  を通しながら挑戦していきます。
  次回は販売管理(その6)シートを使った売上伝票シートへの登録を説明します。
┌─┐
│3├───────────────────────────────┐
└┬┘★ 習うより慣れろ                      |
| 練習問題・実践をすることです ★     |
 └────────────────────────────────┘
  VBA実践のメルマガの永い読者はまた同じことかと思われるかもしれませんが
  基本は同じですのでそれを何度も少し変わった面から作ることが本当の
  力になってくるのです。
  わかったと思って訓練をしないと実践力がつきません。
  キャリアアップをめざして頑張ってください。
┌─┐
│4├───────────────────────────────┐
└┬┘★5月のVBA&Java実践無料セミナーは              |
| 5月18日(日) 5月24日(土) 10:00~12:00        |
| 6月 7日(土)6月15日(日)6月22日(日)6月28日(土) 10:00~12:00|
| テーマ:転職に有利なプログラム言語のJavaとキャリアアップに |
|  最適なExcelVBAを実践に基づいてわかりやすく紹介するセミナー★|
 └────────────────────────────────┘
┌─┐
│5├───────────────────────────────┐
└┬┘★5月のVBA実践有料セミナーは 5月 17日(土)   |
|    9:00~17:00 内容:VBA実践基礎       |
|    受講費用 ¥20,000(税抜・教材費込)     |
 └────────────────────────────────┘
┌─┐
│6├───────────────────────────────┐
└┬┘★ VBA実践塾の第1号「よくわかるVBA実践」CD版 |
| 発売中(価格5,000円)                |
| ご購入希望者はyahooショッピングにて販売中★          |
| http://store.shopping.yahoo.co.jp/vba/★            |
 └────────────────────────────────┘
┌─┐
│7├───────────────────────────────┐
└┬┘★ 現金主義会計ソフトCD版              |
| を発売しました(販売価格2,500円)         |
| ご購入希望者はamazonにて販売中)★            |
|http://www.amazon.co.jp/(現金主義会計ソフトで検索してください)|
|簿記は難しい。しかし税務申告はこの簿記の考え方を採用しています。|
|この会計は、最小の努力で税務申告も可能な決算書が完成できるように|
|工夫しました。指示に従って初歩の簿記知識もマスターしましょう。 |
 └────────────────────────────────┘

 ──────────────────────────────────
  次のOdysseyのサイトに漫画でVBAを説明していますので参考にしてください
  http://vbae.odyssey-com.co.jp/column/

 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 □■セミナー場所・お問い合わせ先
大阪市阿倍野区阿倍野筋3-12-2-111
ナガセキャリアプラザ アベノ校
VBA実践塾 塾長 浅井良一
http://vba.asai.net
ryoichi@asai.net
電話0120-555-309

よくわかるVBA実践塾(JavaとVBA部品の紹介と勉強)

 ┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┿
    よくわかるVBA実践塾(JavaとVBA部品の紹介と勉強)
   (エクセルの初心者対象・プログラムの大革命)
http://vba.asai.net
 ┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━◇◆┿
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┏┓VBAをマスターして仕事を早くして給料をあげよう。儲かる会社にしよう☆
┗╋━━━━━━━━━━━━━━━━━━━━━━━━━━……………
 ┃    VBA実践塾は、VBAはプログラムを作るのではない
部品を修正して使うという考え方で実施しております。
 ☆。.:*:・’゜  ─ 部品の公開メルマガ No76─
  ……………━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┿
   よくわかるエクセルVBA実践(部品を使うための知識)
 ┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━◇◆┿
┌─┐
│1├───────────────────────────────┐
└┬┘★前回はVBAとJava(その3)カプセル化で必要な       |
|   getterメソッド・setterメソッドを勉強しました★     |
 └────────────────────────────────┘
  前回はVBAと(その3)カプセル化で必要なgetterメソッド・setter
  メソッドを勉強しました。
  今回は販売管理の5回目売上伝票登録を説明します。
  フォームを使った仕訳伝票入力のプログラムを公開しました。
  http://vba.asai.net/szaimu1_1.html
  マスター検索でFunctionを使って科目コード・科目名を仕訳伝票に返す
  プログラムが入っていますが、VBA実践塾の方針とは離れてしまったような
  気がします。
  プログラムが難しくなってしまったのです。
  開発業者であればあたりまえの事ですが、VBA実践塾の読者の多くは
  一般ユーザーですからわかりやすいプログラムではないと思います。
  アプリケーションの部品をわかりやすく提供することがVBA実践塾の目標です。
  ではJavaとの関連ということになれば、エクセルで出来ないことはVBA
  VBAでできないことはJavaという考え方です。
  もう一つ将来Javaでアプリケーションだけでなく一人一人のノウハウ
  が部品化できないかと考えています。
  定年になった人・中高年対象のねつと塾を運営しております。
  http://www.netjuku.co.jp/
  目的は定年になった人のノウハウを若い人に伝えるノウハウバンクを目指しております。
  ノウハウを訂正できない部品化にし、継承しながら広げていく発想です。
  例えば浅井良一のノウハウをクラスとして考えていきます。
  生まれてから幼稚園・小学校・中学校・高等学校・大学・就職とそれらをクラス
  と考えていきます。
  私の通った高校桃山学院であれば高校というクラスを継承しています。また学校も継承
  しています。
  そしてたかじんという生徒クラスも卒業生にいた。
  そのようにどんどん広がっていきます。
  それらをJavaで作れるようにわかりやすい部品にしていこうと思っております。
  なにかおもしろいものができるような気がします。
  仕事のわかる人がシステムを作るように自分のわかることを部品化クラス化
  できるようにすることです。
  質問のある方またご意見のある方は自由にメールをしてください。
 
┌─┐
│2├───────────────────────────────┐
└┬┘★今回は販売管理の5回目売上伝票登録を勉強します★      |
 └────────────────────────────────┘
  VBA実践塾の売上登録のホームページを参考にしてください。
  http://vba.asai.net/shanbai2_1.html
  シートを使って入力をしていきます。
  エクセルとの違いは
  (1)関数がシートについていない
  (2)4行分の売上データが売上明細に追加される
  (1)で困ること
  間違って得意先検索のためのVLOOKUP関数を消してしまって再度作るのに
  忘れてしまった時また関数がよくわかる人に作ってもらったため自分で
  作れない。
  (2)で困ること
  せっかく入力して印刷までしたデータを再利用できない
  これらを解決するためにVBAを勉強していきます。
  エクセルの良さはシート入力の容易さです。
  しかし得意先を検索するとき、得意先ボタンをクリックして検索できれば
  便利です。
  得意先ボタンを標準モジュールに書いた得意先検索を使って検索フォームを
  呼び出しています。
  Sub 得意先検索()
  frmTlist.Show
End Sub
  フォームのコードはフォームが開いたときに
  得意先シートからリストボックスに追加しています。
  Private Sub UserForm_Initialize()
Dim lastrow As Long
Dim i As Long
lastrow = Worksheets("得意先").Cells(Rows.Count, 1).End(xlUp).Row
lstTokui.ColumnCount = 2
For i = 2 To lastrow
With lstTokui
.AddItem
.List(i - 2, 0) = Worksheets("得意先").Cells(i, 1)
.List(i - 2, 1) = Worksheets("得意先").Cells(i, 2)
End With
Next
  End Sub
  フォームのキャンセルはUnload Me
  Private Sub cmdCancel_Click()
    Unload Me
  End Sub
  該当する得意先を選んだ時、得意先名をダブルクリックした時と
  OKボタンを押した時に取り込むようにしています。
  ポイントは売上伝票シートの得意先コードのセルActiveCellに代入しています。
  間違うようであれば直接シートとセルを指定すればよいと思います。
Private Sub cmdOk_Click()
ActiveCell = lstTokui.Text
Unload Me
End Sub
Private Sub lstTokui_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
ActiveCell = lstTokui.Text
Unload Me
End Sub
商品コードも同じようにしています。
ActiveCellを使っているためプログラムは1つで単純ですが使い勝手が悪いと
思います。
使い勝手を良くしようと思えばプログラムがだんだんと複雑になっていきます。
Sub 商品検索()
  frmSlist.Show
  End Sub
  商品検索フォームのプログラム
Private Sub cmdOk_Click()
ActiveCell = lstSyouhin.Text
Unload Me
End Sub
Private Sub lstSyouhin_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
ActiveCell = lstSyouhin.Text
Unload Me
End Sub
Private Sub UserForm_Initialize()
Dim lastrow As Long
Dim i As Long
lastrow = Worksheets("商品名").Cells(Rows.Count, 1).End(xlUp).Row
lstSyouhin.ColumnCount = 2
For i = 2 To lastrow
With lstSyouhin
.AddItem
.List(i - 2, 0) = Worksheets("商品名").Cells(i, 1)
.List(i - 2, 1) = Worksheets("商品名").Cells(i, 2)
End With
Next
End Sub
Private Sub cmdCancel_Click()
Unload Me
End Sub
売上明細シートへの登録は次回説明いたします。

  次回はVBAとJava(その4)Javaで電卓を作ろうを説明します。
┌─┐
│3├───────────────────────────────┐
└┬┘★ 習うより慣れろ                      |
| 練習問題・実践をすることです ★     |
 └────────────────────────────────┘
  VBA実践のメルマガの永い読者はまた同じことかと思われるかもしれませんが
  基本は同じですのでそれを何度も少し変わった面から作ることが本当の
  力になってくるのです。
  わかったと思って訓練をしないと実践力がつきません。
  キャリアアップをめざして頑張ってください。
┌─┐
│4├───────────────────────────────┐
└┬┘★5月のVBA&Java実践無料セミナーは              |
| 5月11日(日)18日(日) 5月24日(土) 10:00~12:00    |
| テーマ:転職に有利なプログラム言語のJavaとキャリアアップに |
|  最適なExcelVBAを実践に基づいてわかりやすく紹介するセミナー★|
 └────────────────────────────────┘
┌─┐
│5├───────────────────────────────┐
└┬┘★5月のVBA実践有料セミナーは 5月 17日(土)   |
|    9:00~17:00 内容:VBA実践基礎       |
|    受講費用 ¥20,000(税抜・教材費込)     |
 └────────────────────────────────┘
┌─┐
│6├───────────────────────────────┐
└┬┘★ VBA実践塾の第1号「よくわかるVBA実践」CD版 |
| 発売中(価格5,000円)                |
| ご購入希望者はyahooショッピングにて販売中★          |
| http://store.shopping.yahoo.co.jp/vba/★            |
 └────────────────────────────────┘
┌─┐
│7├───────────────────────────────┐
└┬┘★ 現金主義会計ソフトCD版              |
| を発売しました(販売価格2,500円)         |
| ご購入希望者はamazonにて販売中)★            |
|http://www.amazon.co.jp/(現金主義会計ソフトで検索してください)|
|簿記は難しい。しかし税務申告はこの簿記の考え方を採用しています。|
|この会計は、最小の努力で税務申告も可能な決算書が完成できるように|
|工夫しました。指示に従って初歩の簿記知識もマスターしましょう。 |
 └────────────────────────────────┘

 ──────────────────────────────────
  次のOdysseyのサイトに漫画でVBAを説明していますので参考にしてください
  http://vbae.odyssey-com.co.jp/column/

 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 □■セミナー場所・お問い合わせ先
大阪市阿倍野区阿倍野筋3-12-2-111
ナガセキャリアプラザ アベノ校
VBA実践塾 塾長 浅井良一
http://vba.asai.net
ryoichi@asai.net
電話0120-555-309

よくわかるVBA実践塾(JavaとVBA部品の紹介と勉強)

 ┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┿
    よくわかるVBA実践塾(JavaとVBA部品の紹介と勉強)
   (エクセルの初心者対象・プログラムの大革命)
http://vba.asai.net
 ┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━◇◆┿
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┏┓VBAをマスターして仕事を早くして給料をあげよう。儲かる会社にしよう☆
┗╋━━━━━━━━━━━━━━━━━━━━━━━━━━……………
 ┃    VBA実践塾は、VBAはプログラムを作るのではない
部品を修正して使うという考え方で実施しております。
 ☆。.:*:・’゜  ─ 部品の公開メルマガ No75─
  ……………━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┿
   よくわかるエクセルVBA実践(部品を使うための知識)
 ┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━◇◆┿
┌─┐
│1├───────────────────────────────┐
└┬┘★前回は販売管理の4回目照会・訂正・削除の説明と       |
|   3つを合体する方法を説明しました★           |
 └────────────────────────────────┘
前回は販売管理の4回目照会・訂正・削除の説明と3つを合体する方法を
説明しました。
今回はVBAとJava(その3)を勉強します。当面VBAとJavaの情報を交互に
発信していこうと思います。
今回消費税の変更で感じたことですが、パッケージソフトは消費税テーブル
を持っていて、変更日時と変更前消費税率・変更後消費税を持っているため、
事前にテーブルを変更するだけでプログラムを変更しなくても対応できています。
私が昔作ったシステムは消費税が運用後に作っていますので、消費税率しか
もっていないため今回のように20日締めの請求書の場合2014/03/31以前は
5%以降は8%で計算する場合対応できません。
納期とか予算の関係でシステムを変更できなかったので運用で逃げ切りまし
たがもしJavaでシステムを作った場合変更が容易に出来るのかを確かめたい
と思います。
昔パッケージのカスタマイズをしていたときメーカーが提供してくれる部品
に標準モジュールとクラスモジュールがありました。
クラスモジュールを使うと変更が容易だということで使ってみたのですが
毎回データのやり取りにゲッター・セッターをつかわないといけません。
クラスの意味がわかっていないのと、面倒くさいのと、またスピードが遅かった
ためにクラスをつかわず標準モジュールを使いました。
今Javaを勉強しながら情報を発信していますが、クラスの考え方継承・カプセル化
多様化を理解しないとJavaは使えないと紹介されていますが
理屈で理解しようと本を読んでもなかなか理解できません。
超わかりやすいJavaの指導を目標にしている私にとってここを乗り越えないと
いけません。
VBA実践塾でしているように使える例題を作りながら理解していくという方向性
で情報を発信していきます。
次は電卓をテーマにVBAのクラスを使ったサンプルとJavaのサンプルを比較
しながらJavaを紹介していきます。
今回Javaを勉強し始めたのは若い人にとってJavaをマスターすることは転職に
有利だと判断したからです。
今月からVBA実践塾の無料セミナーは月4回(土・日)にし、VBAとJavaを一気
に紹介するセミナーにしました。
キャリアアップに有利なVBA・転職に有利なJavaをキャッチコピーにしております。
http://www.nps.ne.jp/kousha/osaka/abn/
  質問のある方またご意見のある方は自由にメールをしてください。
 
┌─┐
│2├───────────────────────────────┐
└┬┘★今回はVBAとJava(その3)カプセル化で必要な         |
|   getterメソッド・setterメソッドを勉強します★      |
 └────────────────────────────────┘
  VBAとJava(その2)はフィールドとメソッドを使ったNingenクラス
  を作ってそれを使うHyoujiクラスを作りました。
  縄文人・弥生人いろいろな人間を管理していきます。
  人間データベースを作っている感覚です。違いは人間が自己紹介するところです。
  データベースには動きメソッドを付けることができません。
  風船を例にとってみますと赤い色10cmの大きさがフィールド(属性)
  で飛ぶ・破裂するがメソッド(動作)です。
  Hyoujiクラスをみて気づくように毎回プログラムの中にデータ縄文人・
  弥生人を入力しないといけないと大変だと思った方もいらっしゃるかと
  思います。
  VBAであればnamae=inputbox("名前は")でnamaeをプログラムに渡せばよい
  と思われるでしょう。次回はその方法を説明しますが、そのためには
  コンストラクタということを理解しないといけません。
  理解しなくてもストリームという便利な方法を使えばできますが、
  コンストラクタを理解するために実践の練習問題をしてもらいながら自然に理解
  出来てくるという方法で説明していきます。
  今回はカプセル化で必要なgetterメソッド・setterメソッドを勉強します
  今までオブジェクトのフィールド・メソッドにアクセスした場合、
  直接アクセスしていました。
  部品の中身(変数の名前とか型)を知らなくても使えるようにしないと
  部品になれません。
  また部品の中身を変更したら使用している側も変更しなければなりません。
  それを防ぐためにフィールドには外からのアクセスはしません。
  getterメソッド(値を参照するためのメソッド)
  setterメソッド(値を変更するためのメソッド)を使います。
  フィールドをprivateにしています。そのため外部のクラスから
  参照・変更できません。
  そのためsetNamae・getNamaeのメソッドを作っています。
setterメソッドを使った例(ningen4)
public class Ningen{
private String namae;
private int nendai;
public void setNamae(String na){
namae=na;
}
public void setNendai(int ne){
nendai=ne;
}
public void jikosyoukai(){
System.out.println(namae+"年代"+nendai);
}
}

public class Hyouji{
public static void main(String[] args){
Ningen jyoumon=new Ningen();
jyoumon.setNamae("縄文人");
jyoumon.setNendai(-12000);
jyoumon.jikosyoukai();
Ningen yayoi=new Ningen();
yayoi.setNamae("弥生人");
yayoi.setNendai(-300);
yayoi.jikosyoukai();
}

getterメソッドを使った例(ningen5)
public class Ningen{
private String namae;
private int nendai;
public void setNamae(String na){
namae=na;
}
public void setNendai(int ne){
nendai=ne;
}
public String getNamae(){
return namae;
}
public int getNendai(){
return nendai;
}
public void jikosyoukai(){
System.out.println(namae+"年代"+nendai);
}
}
public class Hyouji{
public static void main(String[] args){
Ningen jyoumon=new Ningen();
jyoumon.setNamae("縄文人");
jyoumon.setNendai(-12000);
System.out.println(jyoumon.getNamae()+"年代"+jyoumon.getNendai());
jyoumon.jikosyoukai();
Ningen yayoi=new Ningen();
yayoi.setNamae("弥生人");
yayoi.setNendai(-300);
System.out.println(yayoi.getNamae()+"年代"+yayoi.getNendai());
yayoi.jikosyoukai();
}
}
これをすることによってクラスの独立性が出来るためすでに出来上がっている
クラスは変更しないという前提で設計していきます。
だから1カ所修正すると何カ所も変更しなければいけないという大きな問題が
解決されていくのだと思います。

  次回は販売管理の5回目売上伝票登録を説明します。
┌─┐
│3├───────────────────────────────┐
└┬┘★ 習うより慣れろ                      |
| 練習問題・実践をすることです ★     |
 └────────────────────────────────┘
  VBA実践のメルマガの永い読者はまた同じことかと思われるかもしれませんが
  基本は同じですのでそれを何度も少し変わった面から作ることが本当の
  力になってくるのです。
  わかったと思って訓練をしないと実践力がつきません。
  キャリアアップをめざして頑張ってください。
┌─┐
│4├───────────────────────────────┐
└┬┘★5月のVBA&Java実践無料セミナーは              |
| 5月3日(土)11日(日)18日(日) 5月24日(土) 10:00~12:00    |
| テーマ:転職に有利なプログラム言語のJavaとキャリアアップに |
|  最適なExcelVBAを実践に基づいてわかりやすく紹介するセミナー★|
 └────────────────────────────────┘
┌─┐
│5├───────────────────────────────┐
└┬┘★5月のVBA実践有料セミナーは 5月 4日(土) 17日(土)   |
|    9:00~17:00 内容:VBA実践基礎       |
|    受講費用 ¥20,000(税抜・教材費込)     |
 └────────────────────────────────┘
┌─┐
│6├───────────────────────────────┐
└┬┘★ VBA実践塾の第1号「よくわかるVBA実践」CD版 |
| 発売中(価格5,000円)                |
| ご購入希望者はyahooショッピングにて販売中★          |
| http://store.shopping.yahoo.co.jp/vba/★            |
 └────────────────────────────────┘
┌─┐
│7├───────────────────────────────┐
└┬┘★ 現金主義会計ソフトCD版              |
| を発売しました(販売価格2,500円)         |
| ご購入希望者はamazonにて販売中)★            |
|http://www.amazon.co.jp/(現金主義会計ソフトで検索してください)|
|簿記は難しい。しかし税務申告はこの簿記の考え方を採用しています。|
|この会計は、最小の努力で税務申告も可能な決算書が完成できるように|
|工夫しました。指示に従って初歩の簿記知識もマスターしましょう。 |
 └────────────────────────────────┘

 ──────────────────────────────────
  次のOdysseyのサイトに漫画でVBAを説明していますので参考にしてください
  http://vbae.odyssey-com.co.jp/column/

 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 □■セミナー場所・お問い合わせ先
大阪市阿倍野区阿倍野筋3-12-2-111
ナガセキャリアプラザ アベノ校
VBA実践塾 塾長 浅井良一
http://vba.asai.net
ryoichi@asai.net
電話0120-555-309
プロフィール

浅井良一

Author:浅井良一
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。