回答編集履歴

3

syuusei

2018/01/18 01:24

投稿

jawa
jawa

スコア3013

test CHANGED
@@ -46,7 +46,7 @@
46
46
 
47
47
  If viBtnNo = 1 Then
48
48
 
49
- Call hogehoge1
49
+ Call hogehoge
50
50
 
51
51
  End If
52
52
 

2

tuiki

2018/01/18 01:24

投稿

jawa
jawa

スコア3013

test CHANGED
@@ -7,3 +7,59 @@
7
7
 
8
8
 
9
9
  入り口(クリックイベント)が別れていますので、その時点で「CommandButton1が押された」という情報を覚えておけば、たとえその後共通関数が呼ばれたとしてもどの入口から入ってきたのか判別可能になると思いますが、どうでしょうか?
10
+
11
+
12
+
13
+ 追記をうけて
14
+
15
+ ---
16
+
17
+ おそらくCommandButton1_Clickには`hogehoge`を呼び出す以外の処理もあり、CommandButton2をクリックした際にはそのhogehoge以外の処理を同じように実行したい、ということだと思います。
18
+
19
+ こういう場合、共通で使用する処理は直接CommandButton1_Clickに記述せず、別関数とした方が扱いやすくなります。
20
+
21
+
22
+
23
+ 下記のサンプルでは`CommandButton1_Click`の内容をそのまま`prcButtonClick`という別関数に載せ替え、hogehogeを実行するかどうかだけ呼び出し元によって切り分けるようにしています。
24
+
25
+ 各ボタンでは、自分がどのボタンなのかを`prcButtonClick`関数に渡すようにしています。
26
+
27
+ ```
28
+
29
+ Private Sub CommandButton1_Click()
30
+
31
+ Call prcButtonClick(1)
32
+
33
+ End Sub
34
+
35
+
36
+
37
+ Private Sub CommandButton2_Click()
38
+
39
+ Call prcButtonClick(2)
40
+
41
+ End Sub
42
+
43
+
44
+
45
+ Private Sub prcButtonClick(ByVal viBtnNo As Integer)
46
+
47
+ If viBtnNo = 1 Then
48
+
49
+ Call hogehoge1
50
+
51
+ End If
52
+
53
+
54
+
55
+ 'hogehoge以外の処理
56
+
57
+
58
+
59
+ End Sub
60
+
61
+ ```
62
+
63
+
64
+
65
+ 参考になれば幸いです。

1

修正

2018/01/18 01:21

投稿

jawa
jawa

スコア3013

test CHANGED
@@ -4,4 +4,6 @@
4
4
 
5
5
  ActiveXボタンの場合、例えば` CommandButton1`というボタン名ならクリックイベントは` CommandButton1_Click`というように、ボタン毎にクリックイベントが別れていると思います。
6
6
 
7
+
8
+
7
- 入り口(クリックイベント)が別れていますので、たとえその後共通関数が呼ばれたとしてもどの入口から入ってきたのかを覚えておくのは容易ではないでしょうか?
9
+ 入り口(クリックイベント)が別れていますので、その時点で「CommandButton1が押されいう情報を覚ておけば、たとえその後共通関数が呼ばれたとしてもどの入口から入ってきたのか判別可能にると思ますが、どうでしょうか?