#サンプルコード 極力おなじコードを書かないようにする方法2。

20150313

Logging


極力おなじコードを書かないようにする方法のつづき、明日、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

 

タグ

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,


#サンプルコード 極力おなじコードを書かないようにする方法。

20150313

Logging


極力おなじコードを書かないようにする方法。同じオブジェクトを複数配置する場合、クリックした時の処理も同じだったりします。そういう時に同じ処理を何回も書くのはちょっと手間だったりします。オブジェクト名が違うだけのために同様の処理コードを何度も書かなくてはならないなど、面倒くさいので自分は下記のようなコードを書いて同じコードを書かないようにしています。これは例えばの例ですので、他の方法もあると思います。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

タグ

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, オブジェクト, スランプ,