2点わからない点がありますのでよろしくお願いします。
(1)ユーザーコントロールのオブジェクト名を引数として使用したいのですが
エラーが発生し困っています。どのようにしたらいいのでしょうか?
ユーザ-コントロールのオブジェクト名:UserControl1
☆でエラーが発生する「オブジェクトはこのプロパティまたはメソッドをサポートしていません。」
※関数aはDLLとなっておりどうしてもオブジェクト型で渡さなければなりません。
Private Sub Command1_Click()
Call a(Me)
End Sub
===DLL関数:a===
オブジェクト名とボタン名をINIファイルに書き込む処理
===========
Private Sub a(prmObj As Object)
Dim strMsg As String
strMsg = prmObj.Name ・・・☆
:
:
:
End Sub
(2)String型からObject型に変換するのは可能でしょうか?
INIファイルから"UserControl1.Command.Enable = False"というString型のデータを読込み、
ボタンを有効・無効設定するという事が処理がしたいのですが何かいい方法がありましたら教えてください。
Private Sub UserControl_Initialize()
Dim a As Object
Dim b as String'INIファイルから取得
Dim c as String 'INIファイルから取得
b = "UserControl1.Command1"
c = "False"
Set a = Me.Controls(b)
If c = "False" then
a.Enable = False
else
a.Enable = True
End If
End Sub
No.1ベストアンサー
- 回答日時:
(2)のほうですが、
名前で指定されたコントロールを操作するには
フォーム上のコントロールを検索して目的のコントロールを見つける必要があります。
こんな感じで。
Dim myControl As Control ' Formのなかにある各コントロール
Dim myName As String ' 操作するコントロールの名前
For Each myControl In myForm.Controls ' コレクションの各要素に対して繰り返します。
If myControl.Name = myName Then
~~目的のコントロールに対する処理~~
End If
Next myObject
やってみたのですが,うまくいきませんでした。。。
☆で「オブジェクトが必要です」というエラーがでます。
何かいい案があったら教えてもらえないでしょうか?
Dim strMyControl As Control ' Formのなかにある各コントロール
Dim strMyName As Variant ' 操作するコントロールの名前
Dim strValue As String ' 操作するコントロールの設定値
For Each strMyControl In Controls ☆
If Name = strMyName Then
Select Case strValue
case "ON"
strMyControl.enable = True
case "OFF" strMyControl.enable = True
End Select
End If
Next
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) outlook マクロが終了しません。 1 2022/09/02 11:14
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル・VBA CheckBoxのオブ...
-
もしフォームヘッダーにコント...
-
ExcelVBAでListViewが使用できない
-
ユーザーフォームで動的(Me.Con...
-
アクセス特有の書き方?
-
OCXって何ですか?
-
変数をコントロール型で使用す...
-
Excel VBA 動的に作成したチェ...
-
カメラスクロールするのを動画...
-
EXCELでactivexコントロールを...
-
コントロールを移動できない
-
間違えて配置してしまったコン...
-
真面目さをコントロールして無...
-
Shapeコントロールの.NET移行方法
-
DataGridView、1セルに複数コ...
-
Groupboxの配下のコントロール...
-
エクセル IEをコピーし貼り付け...
-
LCD 1602ディスプレイの輝度調...
-
コンボボックスの文字によるif...
-
C#で自分のウインド・ハンド...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カメラスクロールするのを動画...
-
エクセル・VBA CheckBoxのオブ...
-
vb.netで画面のコントロールId...
-
エクセルVBAでオプションボタン...
-
EXCELでactivexコントロールを...
-
ExcelVBAでListViewが使用できない
-
excelのリストボックスで選択し...
-
ユーザーフォームで動的(Me.Con...
-
フォーム上の現在アクティブな...
-
C#で自分のウインド・ハンド...
-
変数をコントロール型で使用す...
-
VBAのフォームでTextBoxがいっ...
-
コントロールを移動できない
-
Groupboxの配下のコントロール...
-
C#で角が丸いテキストボックス
-
(VBA)スピンボタンの大量...
-
間違えて配置してしまったコン...
-
エクセル コントロールツール...
-
'ckbl' コントロールは作成され...
-
OCXって何ですか?
おすすめ情報