@Blog{zip358.com}
日常日誌からプログラムやYOUTUBER紹介、旅日記まで日々更新中です。
#サンプルコード 極力おなじコードを書かないようにする方法2。
2015.03.13
極力おなじコードを書かないようにする方法のつづき、明日、VS2013で作成したコードをうっぷすると記載しましたが、本日の暇な時間を使って作成しました。コードは下記のとおりです。上記の画像と同じオブジェクト(Button)を作成して下記のコードを貼り付けるとExcelのサンプルコードと同様の処理をします。今回のコードに関してはzipでの配布はしない事にしました。このコードを動かすためにはVisual Studio Community & Express 2013を使用しています(無償版)。ダウンロードしてインストールして動かしてみてください。なお、マイクロソフトにアカウント登録を行わないといけません。MSNメッセンジャーなどを昔使用していた方などは、再度登録する必要はありません。
Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click bt_ck(sender, 1) End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click bt_ck(sender, 2) End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click bt_ck(sender, 3) End Sub Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load Dim bt_ary() As Button = {Me.Button1, Me.Button2, Me.Button3} For i As Integer = 0 To bt_ary.Count bt_ary(i).Text = "" Next End Sub Sub bt_ck(obj As Object, i As Integer) If obj.text = "(^_^)v " & i Then obj.text = "(^_^)g " & i Else obj.text = "(^_^)v " & i End If End Sub End Class
著者名 @taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
AM, e As EventArgs, End Sub, For i As Integer, Handles Button1.Click, Handles Button2.Click, Handles Button3.Click, Handles Me.Load, If obj.text, Me.Button1, Me.Button2, Me.Button3, obj As Object, Private Sub, Private Sub Button1_Click, Private Sub Button2_Click, Private Sub Button3_Click, Private Sub Form1_Load, Public Class Form1, sender As Object, Visual Studio Community,
#サンプルコード 極力おなじコードを書かないようにする方法。
2015.03.13
極力おなじコードを書かないようにする方法。同じオブジェクトを複数配置する場合、クリックした時の処理も同じだったりします。そういう時に同じ処理を何回も書くのはちょっと手間だったりします。オブジェクト名が違うだけのために同様の処理コードを何度も書かなくてはならないなど、面倒くさいので自分は下記のようなコードを書いて同じコードを書かないようにしています。これは例えばの例ですので、他の方法もあると思います。Excelじゃなければもっと大雑把な方法で書くことも可能です。
明日、VSのフリーを使用して同じようなコードなど記載します。もしかすると路線を変更して何かのツールを作るかもしれません(´Д`)。この頃、VSもまともに使用していないので覚えてません・・・・と言うより、感覚的にあれあったなで覚えていますのでググりながらコードを書いてます。スランプ8年目ぐらいになります。もともとスランプでしたのであまり変わらないですね。「えっはい」(゚Д゚)
このコードちょっと意地悪なコードです。(´・ω・`)わかるひとがみると斜め向いたコードだと理解するでしょう(ニヒ、旭化成)
サンプルコードも置いときます。ご自由にお使いください。https://zip358.com/tool/hogeta.zip[DL]
Private Sub CommandButton1_Click() cmd_ck CommandButton1, 1 End Sub Private Sub CommandButton2_Click() cmd_ck CommandButton2, 2 End Sub Private Sub CommandButton3_Click() cmd_ck CommandButton3, 3 End Sub Sub cmd_ck(obj As MSForms.CommandButton, i As Integer) Dim obj_cmd As MSForms.CommandButton Set obj_cmd = obj If obj.Caption = "(-.-)v " & i Then obj.Caption = "(-.-)g " & i Else obj.Caption = "(-.-)v " & i End If Set obj_cmd = Nothing End Sub Private Sub UserForm_Initialize() Dim cmd As MSForms.CommandButton Dim ary_cmd As Variant Dim i As Integer ary_cmd = Array(CommandButton1, CommandButton2, CommandButton3) For i = 0 To UBound(ary_cmd) Set cmd = ary_cmd(i) cmd.Caption = "" Set cmd = Nothing Next End Sub
著者名 @taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
0 To UBound, AM, cmd_ck CommandButton1, cmd_ck CommandButton2, cmd_ck CommandButton3, cmd.Caption, Dim ary_cmd As Variant, Dim cmd As MSForms.CommandButton, Dim i As Integer, Dim obj_cmd As MSForms.CommandButton, End Sub, If obj.Caption, obj As MSForms.CommandButton, Private Sub CommandButton1_Click, Private Sub CommandButton2_Click, Private Sub CommandButton3_Click, Private Sub UserForm_Initialize, Set cmd, Set obj_cmd, オブジェクト, スランプ,