こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

ExcelVBAでListViewが使用できない

ノートパソコン(Windows7 64bit、EXCEL 64bit)を使用して、VBAでツールを作成しています。
フォーム上にListViewを追加したいのですが、コントロールの追加ダイアログにて
「Microsoft ListView Control, version 6.0」がリストがないので追加することができません。
参照設定にも「Microsoft Windows Common Controls 6.0(SP6)」がありませんでした。
これが原因かと考え、System32に「MSCOMCTL.OCX」がなかったので、
ListViewの使える他のパソコン(Windows7 32bit、EXCEL2010 32bit)から
「MSCOMCTL.OCX」を持ってきて入れました。
すると参照設定で「Microsoft Windows Common Controls 6.0(SP6)」を選べるようになったのですが、
未だにコントロールの追加ダイアログ上ではListViewの利用ができない状態でした。

職場のほとんどパソコンではListViewが使用可能なのですが、
ListViewが使用できないパソコンの条件などあるのでしょうか?

ご回答お待ちしておりますのでよろしくお願い致します

投稿日時 - 2013-06-20 12:47:39

QNo.8141868

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

以下は、32ビット版と64ビット版の機能の制限を説明し、どちらを利用すべきかの判断材料を提供している資料です。
http://office.microsoft.com/ja-jp/excel-help/HA010369476.aspx

Microsoftは、64bit版のOfficeに対してComctl(ListViewなどのコントロールを提供する機能)に対する適切な代替手段を提供していません。

職場のほとんどのListViewが利用できるパソコンが32Bit版であるということでしょう。

投稿日時 - 2013-06-24 22:13:48

お礼

お礼遅くなりまして申し訳ございません。
大変勉強になりました。
ありがとうございます。

投稿日時 - 2013-07-24 21:07:44

ANo.2

64bit の Excel は巨大なデータやシート数を扱う場合ぐらいしかメリットがない。
VBA についても、Excel 内のオブジェクトを使用するだけなら大丈夫だが、外部オブジェクト (ActiveX コントロール、ActiveX オブジェクトなど) は全滅と考えたほうがよい。
64bit に対応している ActiveX を自前で調達してくるか、使わずに済む回避方法を採用するか、32bit の Excel を使うか、のどれかを選択するしかない。


> ListViewの使える他のパソコン(Windows7 32bit、EXCEL2010 32bit)から「MSCOMCTL.OCX」を持ってきて入れました。

こういう行為は NG

投稿日時 - 2013-06-21 12:54:53

お礼

お礼遅くなりまして申し訳ございません。
大変勉強になりました。
ありがとうございます。

投稿日時 - 2013-07-24 21:07:50

ANo.1

64bitアプリから32bitのOCXは使用出来ません。
32bit Excel をインストールするのが有効な解決策かと。

http://office.microsoft.com/ja-jp/excel-help/HA010369476.aspx
http://excelnavi.livedoor.biz/archives/2603086.html

投稿日時 - 2013-06-20 13:48:09

補足

ご回答ありがとうございます。

投稿日時 - 2013-06-20 16:23:41

お礼

お礼遅くなりまして申し訳ございません。
大変勉強になりました。
ありがとうございます。

投稿日時 - 2013-07-24 21:07:54

あなたにオススメの質問