プロが教えるわが家の防犯対策術!

開発マシンで作ったEXCEL2010のVBAファイルを ほかのアプリ用マシンで開いたとき ユーザーフォームの中にあるリストビューだけ欠落してしまう
最初、開発マシンは2007だったのでバージョンの違いかと思って質問し下記サイトをアドバイスされたが、関係なかった
http://support.microsoft.com/kb/2266789/ja

開発マシンとユーザーマシンのバージョンをすべて2010Plusに新規インストールしたが状況は変わらない
 開発マシンのOSは WinXP、 
 アプリ用マシンのOSは WinServer2008R2(仮想サーバーとして使っている)

同じ環境の中でリストビューをつくって保存したものはちゃんと機能します
逆の方向、アプリ用マシン(2008R2)の中で作って保存したファイルを 開発用(XP)マシンの中で貼り付け開くとちゃんと機能します
今は アプリ用マシンの中で、もう一度、ユーザーフォームの中に手でリストビューコントロールを書き込んで動作させている

リストビューコントロールは、Exel VBAにデフォルトで入っているActiveXコントロールではないので、忘れられているのでしょうかね
他のマシンで作ったリストビューを強制的に読み込む手段がないでしょうか
他に何か良い解決方法がありましたらお教えください

「Excel2010 VBA リストビュー」の質問画像

A 回答 (1件)

当方はほとんど知識を持ち合わせていないのですが


また、ひとつも検証していないのですが
バージョンは本当に関係ないのでしょうか。

 いくつかのPCを調べてみたら、
Microsoft ListView Control のバージョン違いがありました。
ver5 ,Ver6ですが、ver6でもプロパティを調べていくとさらに3種類?ありました。

・この元のdllは何だろうとsystem32フォルダーを探してみましたがそれらしき名前をみつけられませんでした。
・MSCOMCTLが関係しているのかどうかわかりませんが、これはセキュリティの脆弱性のため最近になって置き換えられています。これがそうだと思いますが、当方のは2004/3/9のが2012/2/14になっていて古いほうは名前が変更されているようです。(古いのがMSCOMCT2.OCX)

この回答への補足

結局自己解決したのですが
 二つのマシン間で 16bit および32ビットの違いで誤動作していたことがわかり
 コピィして持ってきた側で再度保存するとなにやら怪しげなメッセージが出ますが
 ともかく動きました
 さらに相手側に送って そちらでも再度保存しないとだめでした
 一体どういうつくりになっているのか

さらに 酷いことに、やっと収まったと思ったら、翌日の朝また動かなくなっていました
頭の中が真っ白になる思いでしたが
もがき苦しんでたどり着いたのは、Windows の自動更新を OKにしていたため
ActiveXの動きが変わってしまったようです

自動更新を殺して、前のバージョンに戻して事なきを得ました

テストしないでどんどんレリースしている感が否めない
ユーザーの苦しみなんか気にしておられないのだろうな
30日ほどのエネルギーを無駄にしたので、さすがにこのときは、開発体制をのろいました
VBAの世界は とても本格業務に使える代物ではないと痛感したしだいです

補足日時:2012/06/05 22:30
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!