エクセルVBAで特定の端末で作成したプログレスバーが他の端末でエラーになる。

Anonymous
2012-10-12T12:36:33+00:00

環境は以下の通りです。

・OS:WindowsXPSP3

・Office2003

■現象

特定の端末のOffice2003エクセルでプログレスバー付のマクロを作成したところ、他の端末でプログレスバーが「はこのマシンでは利用できないため、オブジェクトを読み込めませんでした。」とのエラーメッセージがでてプログレスバーが消えてしまう。

問題なくプログレスバーが表示できるマクロ付のエクセルを、上記特定の端末で開き、VBEを起動しそのまま何もせずに保存すると、以降そのエクセルファイルのプログレスバーは上記のエラーメッセージを表示しプログレスバーが消えてしまう。

■特定の端末で試したこと

・Office2003の再インストール

・regsvr32 C:\Windows\System32\MSCOMCTL.OCX を実行。

上記では解決せず。

どなたか同様の現象になられた方がいらっしゃいましたら、ご助言等いただきたく存じます。

開発者テクノロジ | Visual Basic for Applications

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2012-10-15T05:01:01+00:00

正直なところ、これ以上は現物に触らないと私にはアイデアはありません。

ただ言えることは、Office以外のActiveX等を使うとPCの環境に左右されますから、作成したPC以外で使用する場合には避けるべきです。

(私は公開するものについては、参照設定すら使いません)

プログレスバーらしきものはユーザーフォームを使って自作可能です。

例としては私のサイトのスクリプトのページ1にプログレスバーを組み込むツールがあります。(フルオートマチックではありません)

この回答は役に立ちましたか?

0 件のコメント コメントはありません

9 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2012-10-15T01:14:17+00:00

    >Microsoft ProgeressBar Control 6.0 (SP6)

    これは使ったことがありませんので、確かなことは申し上げられませんが、これはVB6のコントロールです。 従ってOfficeのみではインストールされないはずです。

    で、常識的に考えられるのは

    1.トラブルのないPCではVB6等がインストールされている。

    2.トラブルの発生したPCではVBがインストールされていないか、バージョンが新しいVB(VB.Net)

     がインストールされており、そのActiveXコントロールがなくなったか参照設定が変わってしまった。

    と言うあたりです。

     

    トラブルの発生しているPCと発生していないPCのVisual Basic(Visual Studioを含む)のバージョンを明示すれば情報が集まるかもしれません。

    参考まで。

     

    情報のご提供ありがとうございます。

    トラブルが発生している端末では、以下の二つのコントロールが利用可能なコントロールに乗っておりました。

    ・Microsoft ProgressBar Control 6.0(SP6)

    ・Microsoft ProgressBar Control. version 5.0(SP2)

    問題がない端末では、以下のコントロールが利用可能でした。

    ・Microsoft ProgressBar Control. version 6.0

    いまさらですが、上記コントロールは全部違うのですね。

    (6.0という数字で同じだと思い込んでいました。)

    ということで、

    トラブルが発生している端末でもMicrosoft ProgressBar Control. version 6.0

    を登録することができれば問題が解決しそうと思いまして

    ためしにmscomctl.ocxを問題がない端末からコピーしてきて、

    regsvr32 C:\Windows\System32\MSCOMCTL.OCX

    を実行したところエクセル起動時にエラーが表示され、肝心のコントロールにも変化がなかったので、

    とりあえず、もとのMSCOMCTL.OCXに登録しなおしました。

    現状としましてはこのような状況です。

    どなたか解決方法等ご教授いただければと思います。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2012-10-15T00:38:51+00:00

    >Microsoft ProgeressBar Control 6.0 (SP6)

    これは使ったことがありませんので、確かなことは申し上げられませんが、これはVB6のコントロールです。 従ってOfficeのみではインストールされないはずです。

    で、常識的に考えられるのは

    1.トラブルのないPCではVB6等がインストールされている。

    2.トラブルの発生したPCではVBがインストールされていないか、バージョンが新しいVB(VB.Net)

     がインストールされており、そのActiveXコントロールがなくなったか参照設定が変わってしまった。

    と言うあたりです。

    トラブルの発生しているPCと発生していないPCのVisual Basic(Visual Studioを含む)のバージョンを明示すれば情報が集まるかもしれません。

    参考まで。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2012-10-14T23:56:20+00:00

    プログレスバーをどうやって実現しているのか明示してください。

    これだけでは何の話か分かりません。

     

    Microsoft ProgeressBar Control 6.0 (SP6)

    で実現しております。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  4. Anonymous
    2012-10-12T14:29:32+00:00

    プログレスバーをどうやって実現しているのか明示してください。

    これだけでは何の話か分かりません。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません