
お世話になります。
今、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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルVBAでフォームのListboxをスクロールするには?
その他(Microsoft Office)
-
ユーザーフォーム スクロールバー 非表示にしたい
Excel(エクセル)
-
ExcelのComboboxでマウスのスクロールを有効にしたい
Excel(エクセル)
-
-
4
VBAのリストボックスをマウスでスクロール
PowerPoint(パワーポイント)
-
5
ユーザーフォームをホイールでスクロールする方法(Excel2000VBA)
Excel(エクセル)
-
6
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
7
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
8
ListView 項目の選択/選択解除について
Visual Basic(VBA)
-
9
複数選択のListBoxでClickイベントが拾えません
Visual Basic(VBA)
-
10
VBA ユーザーフォームのChangeイベントを停止したい
Access(アクセス)
-
11
VBA:水平スクロールバーが要らない!
Excel(エクセル)
-
12
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
13
UserForm1.Showでエラーになります。
工学
-
14
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
15
リストビューをスクロールさせるには
Visual Basic(VBA)
-
16
TextBoxコントロールを引数として渡すには?
その他(教育・科学・学問)
-
17
'ユーザーフォーム右上隅の[×]ボタンを表示しない
Visual Basic(VBA)
-
18
【VBA】【ユーザーフォーム_ListBox】オートフィルタで絞りこんだ値だけを取り出したい
Visual Basic(VBA)
-
19
ExcelVBA でリストリストボックスに列見出しをコーディングでつける
Excel(エクセル)
-
20
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロOn Error GoTo ErrLabel...
-
お助けください!VBAのファイル...
-
UserForm1.Showでエラーになり...
-
【VBA】ワークブックを開く時に...
-
VBAでfunctionを利用しようとし...
-
マクロで"#N/A"のエラー行を削...
-
String""から型'Double'への変...
-
VB.net 重複チェックがしたいです
-
【VBAエラー】Nextに対するFor...
-
文字列内で括弧を使うには
-
On ErrorでエラーNoが0
-
エクセルVBAで埋め込みグラフ(C...
-
ACCESSで値を代入できないとは?
-
VBA エクセル で FIND でのエラ...
-
インポート時のエラー「データ...
-
Excel ピボットテーブル平均・...
-
Excel実行時エラー[80004005]に...
-
VB.NETでMessageBoxが表示され...
-
【Access】Excelインポート時に...
-
エクセルVBAでApplication.Sum...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
お助けください!VBAのファイル...
-
VBAでfunctionを利用しようとし...
-
String""から型'Double'への変...
-
【VBA】ワークブックを開く時に...
-
文字列内で括弧を使うには
-
マクロで"#N/A"のエラー行を削...
-
Excel vbaについての質問
-
VBA データ(特定値)のある最...
-
On ErrorでエラーNoが0
-
ApplicationとWorksheetFunctio...
-
【Access】Excelインポート時に...
-
インポート時のエラー「データ...
-
実行時エラー 438 の解決策をお...
-
オブジェクト型の変数にフォー...
-
.VBSだとADODBのプロバイダが見...
-
実行時エラー'-2147467259(8000...
-
【VB.NET】 パワポ操作を非表示で
-
フランスの生年月日(jj/mm/aaaa)
-
【VBAエラー】Nextに対するFor...
おすすめ情報