まったくの初心者です。初歩的な質問で申し訳ありません。
カラーのところでクリックが実行できません。
なぜなのかよくわかりません。お暇なときご教授下さい。
そしてもう一つ質問ですが以下のコードを追加したいの
ですがどこに挿入すればいいのですか。
→private sub image_click()
ccolor = 7
end sub ここまでのコードを追加したいです。
ーーーーーーーーーーーーーーーーーーーーーーーーーー
Private Sub Command1_Click()
Form1.Cls
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Form1.DrawWidth = 3
If Button = 1 Then
PSet (X, Y), QBColor(ccolor)
End If
End Sub
Private Sub Label1_Click()
cccolor = 14
End Sub
Private Sub lavel2_click()
cccolor = 0
End Sub
Private Sub label3_click()
ccolor = 9
End Sub
Private Sub label4_click()
ccolor = 12
End Sub
Private Sub label5_click()
ccolor = 10
End Sub
No.3ベストアンサー
- 回答日時:
#2です。
1も2も分からないといった状況ということですね。>コードと作ったオブジェクトをどうつなぐのかがわかりません。
まずプログラムを実行した時、何かしらの[アクション]により実行される部分の
最小単位を[プロシージャ]と呼びます。
例えば[Private Sub Label1_Click()]から[End Sub]までの部分です。
意味としては、[Label1]というオブジェクトが[Click]されたら、この間にある
コードを実行しなさい。という命令です。
ここで注意しなければならないのは、[Label1]という名前です。
[Label1]というのは[オブジェクトを識別する名前]であり、太郎さんなのか次郎
さんなのか、という区別する名前です。
例えば[ボタン]オブジェクトに[Label1]という名前を付けることも出来ますし、
[ラベル]オブジェクトに[List1]という名前をを付けることも出来ます。これはち
ょうど、犬に[タマ]、猫に[ポチ]という名前を付けることに良く似ています。
話を戻しまして、[Label]オブジェクトをフォーム上に配置すると標準で[Label1]
…[Label2]…[Label3]、という風に名前が付けられます。この名前は通常[重複]
してはいけませんが、VB6の場合はオブジェクト配列として扱う事が出来ます。
しかしここでは深く語りません。
この[オブジェクトを識別する名前]を理解したところで、本題です。
>コードと作ったオブジェクトをどうつなぐのかがわかりません。
>カラーのところでクリックが実行できません。
ということなので、配置したオブジェクトとコードの名前が一致していないので
はないでしょうか?
例えば、プロパテイの[オブジェクト名]が[OBJ]という名前のオブジェクトを
クリックアクション時に実行する[プロシージャ]は[Private Sub OBJ_Click()]
とする必要があります。
>コードをどこに挿入すればいいのですか?
基本的に順番はありませんのでどこに記述してもかまいませんが、一点だけ注意が必要です。
[プロシージャ]はネストすることは出来ませんので、例えば
[Private Sub Label1_Click()]から[End Sub]までの間の部分には記述出来ません。
お分かり頂けましたでしょうか?
二番さん、詳しい説明有り難うございました。一番さんにも感謝です。ようやくつかめてきました。また質問するときは宜しくお願い致します。
No.2
- 回答日時:
少しスマートに手直し(labelは全てimage1の配列に,Command1も配列)
Option Explicit
Dim ccolor As Long
Private Sub Form_load()
Form1.DrawWidth = 2
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Static X2, Y2 As Single
If Button = 1 Then Line (X, Y)-(X2, Y2), QBColor(ccolor)
X2 = X: Y2 = Y
End Sub
Private Sub image1_Click(Index As Integer)
Select Case Index
Case 0: ccolor = 0
Case 1: ccolor = 7
Case 2: ccolor = 9
Case 3: ccolor = 10
Case 4: ccolor = 12
Case 5: ccolor = 14
End Select
End Sub
Private Sub Command1_Click(Index As Integer)
Select Case Index
Case 0: Form1.Cls
Case 1: Unload Me
End Select
End Sub
この回答への補足
お返事有り難うございます。一番さんの補足に書いた通り
のことで今悩んでおります。コードと作ったオブジェクトをどうつなぐのかがわかりません。実行をしても黒いカラーだけがでてしまいます。お時間があるときご存知でしたらアドバイス下さい。
No.1
- 回答日時:
質問がわかりづらいです。
何となく想像はつきますが...
>カラーのところでクリックが実行できません。
カラーのところって?
Labelxx_Clickのところでしょうか?
実行できませんとは?
???という動作を期待しているのに、
???なってしまうのでしょう?
cccolor と ccolor の違いと型は?
単に転記ミス?(lavel2_clickってなってるし...)
余談1
>Private Sub Command2_Click()
>End
>End Sub
Endは使わない方が良いです。
終わらせたいなら、Unload Meにしましょう。
余談2
私の場合は、ラベルはコントロール配列にして...
Private Sub Label1_Click(Index as Integer)
Select Case Index
case 0: cccolor = 14
case 1: cccolor = 0
・
・
・
End Select
End Sub
この回答への補足
お返事有り難うございます。ご指摘されたところを手直ししました。ソースを記述しなおしたものと+プロパティウィンドウをさわりながらつくったオブジェクトを実行してもできませんでした。アドバイス、お時間があるとき下さい。
補足日時:2005/01/21 11:49お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) 標準モジュール Public mOnTime As Date Sub sample() '実行プロシ 1 2023/02/22 15:44
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) ListBox1をClickしたときのイベント 5 2022/12/11 19:45
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Visual Basic(VBA) 2つ目のコンボボックスが動作しません。 3 2023/03/25 12:29
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) 【マクロ】リボン、行列、数式・ステータスバを非表示に 4 2022/12/12 07:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザーフォームに別シートか...
-
現在のブックを閉じないで、マ...
-
【VBA】マクロの入ったファイル...
-
Excel VBA 定義されたプロージ...
-
Excel-VBAのmsgBox()の不思議
-
VBA初心者 Ctrl+での操作、ボタ...
-
VBA 複数条件の分岐処理の上手...
-
エクセルのマクロについて教え...
-
VBAに詳しい方教えてください。
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
ExcelVBA シート名を複数セルか...
-
FileCopy時のエラー
-
VBAで各列の"+"と"o"の合計数を...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
VBA listBoxについて
-
VBAを使用した時間管理
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのコードを教えてください
-
【ExcelVBA】インデックスが有...
-
ExcelVBA シート名を複数セルか...
-
エクセルvbaについて
-
エクセルのマクロについて教え...
-
【VBA】マクロの入ったファイル...
-
VBA UserFormからの転記で
-
エクセルVBAの配列について
-
Excelで「Ctrl+c」、「Ctrl+v...
-
VBAコードについて教えてくださ...
-
ExcelのVBAコードについて教え...
-
Excel マクロについての相談
-
VBAで質問があります
-
VBAコードについて
-
【ExcelVBA】VBA実行でダイアロ...
-
Excel関数またはVBAでの質問に...
-
ExcelのVBAコードについて教え...
-
ExcelのVBAコードについて教え...
-
ExcelのVBAコードについて教え...
-
Outlookの「受信日時」「件名」...
おすすめ情報