もえろぐ

在宅ワークで生きているアラサー男のブログ

プログラミング初心者におすすめなのは「メモ帳プログラミング(VBScript)」である|和暦を西暦に変換するプログラムを簡単に作ってみよう!

スポンサーリンク

これからプログラミングを始めてみよう(勉強してみよう)と思っている初心者におすすめなのが「メモ帳プログラミング」だ。

 

何がおすすめかって言うと、まず「カネ」がかからない

 

Windowsのパソコンを持っていればすぐにプログラミングができる。

 

「メモ帳」を使うのだから当然だ。

 

次に「簡単」なところ。

 

記事を読めば10分以内に簡単なプログラムが完成する。

 

最後に「楽しい」

 

むろん、これはメモ帳プログラミングに限った話ではないが、

 

上で述べた通り、メモ帳プログラミングなら「カネ」もかからず「簡単」にプログラミングが体験できるので、すぐに「楽しい」かどうか分かる。

 

簡単なプログラミングをやってみて、自分に合っているか合っていないか、向いているか向いていないか判断してほしい。

 

プログラムが思った通りの動きをした時に「なにこれ、めっちゃ楽しいwww」と感じれば、プログラマーの素質ありということだな!

 

そんなわけで具体的に「メモ帳プログラミング=VBScript(ブイ・ビー・スクリプト)」で簡単なプログラムを書いてみたい。

 

 

f:id:cample-hq:20180524210046p:plain

10分以内にプログラムをつくってみる

 

まず、メモ帳を起動する。

 

f:id:cample-hq:20180524210230p:plain

 

メモ帳を開いたら、1行目に「Option Explicit」と記述する。

 

Option Explicit

 

間違いが無いようにコピペすると良いだろう。

 

2行目を空けて、3行目に「MsgBox "Hello, World!"」と記述する。

 

コピペして貼りつけてくれ

 

(何も書かない)

MsgBox "Hello, World!"

 

するとこんな風になる。

 

f:id:cample-hq:20180524210706p:plain

 

3行目に何を書いているのか簡単に説明すると

 

まず「MsgBox」というのは「関数」と呼ばれるものだ。

 

ぶっちゃけ僕もよく意味は分からない。

 

が、おまじないみたいなものだと思っていればいい。暗記だ暗記。今はそれでいい。

 

「MsgBox」は「文字を表示する」関数だ。

 

つまり、何をしたいのか、を表している。

 

「文字を表示したいなあ」と思ったら「MsgBox」を使う。

 

そう覚えておく程度でいい。

 

「MsgBox」が書けたら次に何をするか。

 

それは、何を表示するか、だ。つまり、表示したい「文字列(文章)」を書く。

 

ここでは「"Hello, World!"」だ。

 

大事なルールは、表示したい文字列の最初と最後に「"」を付けること。

 

書き忘れないように。

 

ちなみに「Hello, World!」を表示したいから「Hello, World!」と書いているわけで、べつに「Hello, World!」それ自体に意味はない。

 

もし「べ、別にあんたのためじゃないんだからね!」と表示したければ、

 

MsgBox "べ、別にあんたのためじゃないんだからね!"

 

と記述すればよい。

 

同様に「俺のもんになれよ、メチャクチャにしてやるぜ」と表示したければ、

 

MsgBox "俺のもんになれよ、メチャクチャにしてやるぜ"

 

と書けばいい。

 

何を表示したいかは好きにして良い。

 

あとはこのメモ帳を保存して実行すれば完成だ。

 

ファイル名は何でもいい。好きにしてくれ。

 

僕はとりあえず、適当に「プログラミング」とした。

 

そして大事なことだが「拡張子」は「.vbs」にしてくれ。

 

実行できなくなる。

 

f:id:cample-hq:20180524211329p:plain

 

加えてやってほしいのが「ファイルの種類」は「すべてのファイル」にすることだ。

 

実行できなくなる。

 

これでプログラミングは終わりだ。

 

意外とあっさり終わったはずだろう? 簡単なのだプログラミングなんて。

 

ダブルクリックで実行して見てほしい。

 

好きなように表示されたはずだ。

 

f:id:cample-hq:20180524211841p:plain

 

「""」の中身を変えるとこんな風に変わる。

 

f:id:cample-hq:20180524211917p:plain

f:id:cample-hq:20180524211934p:plain

 

「右クリック」⇒「編集」から好きな文字列に変えてくれ。

 

f:id:cample-hq:20180524212100p:plain

 

簡単だろう?

 

ちなみに:西暦と和暦を変換するプログラム

 

ぶっちゃけ何が書いてあるのかなんてよく分からなくても、「やりたいこと」があればプログラムはつくれる。

 

例えば、僕は仕事で「紙に手書きで書かれた和暦」を「西暦に書き直す」というクソみたいな仕事をしていたことがある。

 

まあ、頭のいい人なら計算すればいいわけだが、僕の場合は覚えていられなかった。

 

そこで僕はメモ帳プログラミングを活用した。

 

以下のサイトで紹介されているプログラムをコピペしてメモ帳で保存し、会社のパソコンで使っていたのだ。

 

和暦を入力する。

 

ここでは「h2(平成2年)」と入力。

 

f:id:cample-hq:20180524213600p:plain

f:id:cample-hq:20180524213643p:plain

 

すると西暦で返ってくる。(=1990年)

 

f:id:cample-hq:20180524213708p:plain

 

ただ、それだけのプログラムだ。

 

でも人間の記憶はあいまいで、たまに間違ったりする。

 

プログラミングを活用することで極力ミスを防いでいた。

 

こんな風にプログラミングは実用していく。

 

正直コピペで使えるところが便利だ。そのくらいメモ帳プログラミングはお手軽なツールなのだ。

 

ぜひともみんなにもメモ帳プログラミングを活用してほしいと思う次第である。

 

参考サイト:西暦 ←→ 和暦 変換

 

'//////////////////////////////////////////////////////////
'//
'// 西暦 <--> 和暦 変換
'//
Option Explicit
Dim reki, myDate

Do
reki = InputBox("西暦か和暦で年数を入力して下さい。" &_
vbCr & vbCr & "(例)" & vbCr &_
"2000" & vbCr & "h15" & vbCr & "昭和50",_
"西暦 <--> 和暦 変換")
If reki = "" Then
WScript.Quit
End If

myDate = reki & "/01/01" '仮の日付
'//入力値のチェック
'// 正しければ、西暦、和暦変換処理
'// 正しくなければ、入力し直し
If IsDate(myDate) = False Then
MsgBox "入力した値が正しくありません。",48,_
"入力値の不正"
ElseIf Year(myDate) < 1867 Then
MsgBox "今のところ、1867年以前には対応していません。",48,_
"年数の未対応"
Else
If Left(reki,1) = "m" Or Left(reki,1) = "M" Or _
Left(reki,1) = "m" Or Left(reki,1) = "M" Then
Call ToSei("明治",2)
ElseIf Left(reki,1) = "t" Or Left(reki,1) = "T" Or _
Left(reki,1) = "t" Or Left(reki,1) = "T" Then
Call ToSei("大正",2)
ElseIf Left(reki,1) = "s" Or Left(reki,1) = "S" Or _
Left(reki,1) = "s" Or Left(reki,1) = "S" Then
Call ToSei("昭和",2)
ElseIf Left(reki,1) = "h" Or Left(reki,1) = "H" Or _
Left(reki,1) = "h" Or Left(reki,1) = "H" Then
Call ToSei("平成",2)
ElseIf Left(reki,2) = "明治" Then
Call ToSei("明治",3)
ElseIf Left(reki,2) = "大正" Then
Call ToSei("大正",3)
ElseIf Left(reki,2) = "昭和" Then
Call ToSei("昭和",3)
ElseIf Left(reki,2) = "平成" Then
Call ToSei("平成",3)
Else
Call ToWa()
End If
End If
Loop


'//////////////////////////////////////
'// 和暦 --> 西暦 変換処理
Sub ToSei(strWa,x)
MsgBox strWa & CInt(Mid(reki,x)) & "年は、西暦" &_
Year(myDate) & "年です。",64,"和暦 --> 西暦 変換"
End Sub


'//////////////////////////////////////
'// 西暦 --> 和暦 変換処理
Sub ToWa()
If Year(myDate) < 1912 Then
MsgBox "西暦" & Year(myDate) & "年は、明治" &_
Year(myDate) - 1867 & "です。",64,"西暦 --> 和暦 変換"
ElseIf Year(myDate) = 1912 Then
MsgBox "西暦" & Year(myDate) &_
"年は、大正元(明治45)年です。",64,"西暦 --> 和暦 変換"
ElseIf Year(myDate) > 1912 And Year(myDate) < 1926 Then
MsgBox "西暦" & Year(myDate) & "年は、大正" &_
Year(myDate) - 1911 & "です。",64,"西暦 --> 和暦 変換"
ElseIf Year(myDate) = 1926 Then
MsgBox "西暦" & Year(myDate) &_
"年は、昭和元(大正15)年です。",64,"西暦 --> 和暦 変換"
ElseIf Year(myDate) > 1926 And Year(myDate) < 1989 Then
MsgBox "西暦" & Year(myDate) & "年は、昭和" &_
Year(myDate) - 1925 & "です。",64,"西暦 --> 和暦 変換"
ElseIf Year(myDate) = 1989 Then
MsgBox "西暦" & Year(myDate) &_
"年は、平成元(昭和64)年です。",64,"西暦 --> 和暦 変換"
ElseIf Year(myDate) > 1989 Then
MsgBox "西暦" & Year(myDate) & "年は、平成" &_
Year(myDate) - 1988 & "です。",64,"西暦 --> 和暦 変換"
End If
End Sub

 

参考サイト:西暦 ←→ 和暦 変換

 

まとめ

 

  • プログラミング初心者におすすめなのは「メモ帳プログラミング(VBScript)」である。
  • 「何をやりたいか」で関数を変える。