
お世話になります。
今、Excel_VBAで、あるデータをリスト表示にしているのですが、ながいデータになりますので水平スクロールバーをつけたいと思います。
標準のプロパティにはないので、"SendMessage"APIを使用し、コーティングをしているのですがうまくいきません。
[標準モジュール]
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA"(ByVal hwnd As Long, ByVal wMsg As Long,ByVal wParam As Long, lParam As Long) As Long
[フォーム/ボタンクリックイベント]
Private Sub Form_Load()
List1.AddItem "あああああああああああ"
List1.AddItem "いいいいいいいいいいい"
List1.AddItem "ううううううううううう"
lRtn = SendMessage(List1.hwnd,LB_SETHORIZONTALEXTENT, 240, 0)
End Sub
以上を実行すると、上記の"List1.hwnd"のhwndの部分で
エラーになってしまいます。
エラー内容は、「メソッドまたはデータメンバがみつかりません」です。
宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
回答ではないのですが。
VBAのリストボックスはハンドルを持たないので、List1.hWndと書いてもエラーになります。
参考にされたコードはVB6.0のものと思います。
VB6のリストボックスならばハンドルが取れるので、使えるのです。
私もVBAで横スクロールバーを出したいなっと思ったのですがなかなか面倒・・・というかやりかたを見つけ出せず、私の場合リストボックスは使わずにリストビューを使うのが通常になっています。
もし可能ならば、その線もご検討なさってはいかがでしょうか?
リストビューなら縦横自由にスクロールバーは出せるし、列の幅をユーザーが自由に動かせます。
スクロールするときにマウスホイールにも反応します。
回答でなくてすみません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Vba Userformを前面に出すについて 3 2022/04/15 12:29
- Visual Basic(VBA) Vba LongPtrについて教えてください 2 2022/08/19 11:14
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) ユーザーフォームの表示を追加したい 2 2023/03/26 23:18
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Excel(エクセル) リストBOXの値を取得について 2 2022/05/18 17:51
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルVBAでフォームのListboxをスクロールするには?
その他(Microsoft Office)
-
ユーザーフォーム スクロールバー 非表示にしたい
Excel(エクセル)
-
ExcelのComboboxでマウスのスクロールを有効にしたい
Excel(エクセル)
-
-
4
VBAのリストボックスをマウスでスクロール
PowerPoint(パワーポイント)
-
5
ユーザーフォームをホイールでスクロールする方法(Excel2000VBA)
Excel(エクセル)
-
6
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
7
VBA ユーザーフォームのChangeイベントを停止したい
Access(アクセス)
-
8
ListView 項目の選択/選択解除について
Visual Basic(VBA)
-
9
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
10
【VBA】【ユーザーフォーム_ListBox】オートフィルタで絞りこんだ値だけを取り出したい
Visual Basic(VBA)
-
11
リストビューをスクロールさせるには
Visual Basic(VBA)
-
12
VBA:水平スクロールバーが要らない!
Excel(エクセル)
-
13
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
14
ListBoxで改行したい
Visual Basic(VBA)
-
15
複数選択のListBoxでClickイベントが拾えません
Visual Basic(VBA)
-
16
リストボックスに縦スクロールバーと選択
Visual Basic(VBA)
-
17
コンボボックスの横スクロールバーの非表示?(Excel VBA 2007)
Visual Basic(VBA)
-
18
UserForm1.Showでエラーになります。
工学
-
19
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
20
ExcelVBA でリストリストボックスに列見出しをコーディングでつける
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
お助けください!VBAのファイル...
-
UserForm1.Showでエラーになり...
-
VBAでfunctionを利用しようとし...
-
【VBA】ワークブックを開く時に...
-
文字列内で括弧を使うには
-
VBA エクセル で FIND でのエラ...
-
String""から型'Double'への変...
-
マクロで"#N/A"のエラー行を削...
-
ApplicationとWorksheetFunctio...
-
ACCESSで値を代入できないとは?
-
Excel vbaについての質問
-
エクセル 足し算引き算で 空...
-
E2206のエラーについて
-
エクセル初心者です。 いま、年...
-
マクロOn Error GoTo ErrLabel...
-
"ソ"の謎
-
Filter関数を用いた結果、何も...
-
VBAで時間(00:00形式)を積算...
-
マクロの「SaveAs」でエラーが...
-
【Access】Excelインポート時に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マクロOn Error GoTo ErrLabel...
-
UserForm1.Showでエラーになり...
-
お助けください!VBAのファイル...
-
VBAでfunctionを利用しようとし...
-
【VBA】ワークブックを開く時に...
-
String""から型'Double'への変...
-
文字列内で括弧を使うには
-
マクロで"#N/A"のエラー行を削...
-
Excel vbaについての質問
-
VBA データ(特定値)のある最...
-
On ErrorでエラーNoが0
-
インポート時のエラー「データ...
-
【VBAエラー】Nextに対するFor...
-
ACCESSで値を代入できないとは?
-
【Access】Excelインポート時に...
-
VBでSQL文のUPDATE構文を使った...
-
【VB.NET】 パワポ操作を非表示で
-
「実行時エラー '3167' レコー...
-
実行時エラー 438 の解決策をお...
-
実行時エラー'-2147467259(8000...
おすすめ情報