• ベストアンサー

VBAの参照設定について

osは、Wxpで、エクセル2003使用してます。 あるコードを実行したところ、コンパイルエラーメッセージが出て、 調べたところ、参照設定の中の、Microsoft Windows Common Controls 5.0(SP2)が、参照不可となっていました。たぶんこれじゃないかなと、 調べたりしたのですが、参照可能にする方法がわかりません。 可能になってるマシンでは、動作は正常で、不可になってるマシンでは、 正常に動きました。 参照可能にする方法を、どうか教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

こんにちは。 既にできあがっているものを動作させたいだけなら、VB5 または VB6 のランタイムをインストールすれば動くかもしれません。 ベクターあたりで探せばすぐに見つかります。  # 要するに、VBA 用のコントロールではないということです。

kyoutaro
質問者

お礼

ベクターでVB6をインストールしてみました。 すると、Microsoft Windows Common Controls5.0(SP2)が、 Microsoft Windows Common Controls6.0(SP6)に変わり、 参照可能となったうえで、試したところ、正常に動きました。 お蔭様で、助かりました。 本当にありがとうございました。

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんばんは。 通常、Service Pack 2 までをあてれば、Excel 2003 の場合には、ListView は入るはずです。違っていたらすみません。 でも、そのコードの  .ColumnHeaders.Add , , "担当者", 50  で、インデックスがないようですが、入りましたかしらね??

kyoutaro
質問者

お礼

ご回答ありがとうございました。 解決いたしました!

  • FEX2053
  • ベストアンサー率37% (7987/21355)
回答No.1

VBEの中の「ツール」「参照設定」の中に出てくるならば、チェック ボックスをチェックするだけで済む話なんですけど・・・。 見つからない場合は「参照」で該当する.dllなり何なりを組み込む 必要があるんですが、普通はMicrosoft Windows Common Controls なんてものを「参照可能」にする必要なんてないはずなんですけど。 ただ、名前からすると、Windowsのインストール時に何かオプションを 付け忘れているだけのような気がしますねえ。

kyoutaro
質問者

補足

ご回答ありがとうございます。 VBEの中の「ツール」「参照設定」の中の、 Microsoft Windows Common Controls5.0(SP2) が参照可能か不可かによって、違ってくるんです。 もしも不可だと、下記のコードの最初の、 .View = lvwReport のところで、 「プロジェクト又はライブラリが見つかりません」というエラーが、 出ます。 また、コントロールツールボックスには、ListViewを割当ててます。 Private Sub 顧客リスト表示() Dim lastrow As Integer Application.ScreenUpdating = False With ListView1 .View = lvwReport ''表示 .LabelEdit = lvwManual ''ラベルの編集 .HideSelection = False ''選択の自動解除 .AllowColumnReorder = True ''列幅の変更を許可 .FullRowSelect = True ''行全体を選択 .Gridlines = True ''グリッド線 ''列見出しを追加する .ColumnHeaders.Add , , "担当者", 50 .ColumnHeaders.Add , , "顧客コード", 50 .ColumnHeaders.Add , , "フリカナ" .ColumnHeaders.Add , , "会社名", 150 .ColumnHeaders.Add , , "〒" .ColumnHeaders.Add , , "住所:1", 120 .ColumnHeaders.Add , , "住所:2", 120 .ColumnHeaders.Add , , "〆日", 40 .ColumnHeaders.Add , , "支払日", 40 End With リスト更新 Application.ScreenUpdating = True End Sub

関連するQ&A

  • エクセル2016でマクロを上書きすると参照設定が

    2016以前のエクセルで作成したマクロを2016で修正したものを2016以前のオフィスで起動するとコンパイルエラーになります、参照設定のmicrosoft common control6.0(sp6)の参照設定が参照不可になっています。試しに同じマクロが入っている古いソースを(2016で上書きしていない)を以前のオフィスバージョンで開くと同じ参照設定が外れることはありません、お客さんからのクレームで困っています、宜しくお願いいたします。

  • EXCELマクロ実行でコンパイルエラー

    すみません。お助けください。 他の会社で作成したマクロ入りのEXCELですが、送ってもらって、 会社に持ってきて、動かそうとしたら、マクロの実行で「コンパイルエラー」 がでます。 同じ時期に購入した同じ機種(WinXP Excel2003)が数台あるのですが、 正常に動作する機種もあります。 コンパイルエラーはFormatででています。 VBA画面でツール→参照設定で、参照不可が下記で表示されていました。 「参照不可:Microsoft Common Dialog Contorol6.0(SP3)」 チェックを外そうとすると、 「使用中のコントロールまたは参照を削除する事が出来ません」と 表示されます。 どなたか、ご存知の方アドバイスお願い致します。

  • Accessで MSCOMCT2.OCX 参照不可をコードで解決したい

    宜しくお願いします。 Access2003(WinXP)でオブジェクトを配置してコードを書いています。 自分のPCでは問題ないのですが、他人のPCで稼動させると 『MSCOMCT2.OCX ver2.0』参照できません というようなエラーが出ます。 ツール→参照設定を開くと  Microsoft Windows Common Control-2 6.0(SP4) が参照不可になっていました。 チェックをはずせばOKですが、この作業をコードで出来ないでしょうか。 ちなみにExcelを開くイベントもあり、そちらは Create Object で解決できました。同じように・・・と思ったのですが、どういうコードを書いたら良いのか分かりません。。 宜しくお願いします。

  • Access2010で参照設定の意味

    OS:Windows10 64bit Access2010(32bit)でプログラムしている初心者です。 フォーム内にPDFを表示したいのでActiveXコントロールの「Microsoft Web Browser」を 貼り付けています。これを他のPCで動かすとPDFが表示されません。 VBEの参照設定から「Microsoft Web Browser」を外すと正常に表示されます。 動作は問題ないのですが、「自動的に参照設定される」意味が分かりません。 また、参照設定を外してなぜ正常に動くのかも理解できておりません。 動作させるために参照するのでは?と考えてしまいます。 理解力のない初心者プログラマを納得させる助言をいただければ幸いです。

  • 参照設定したときのパス

    VB2005の参照追加で「microsoft DAO 3.6 Object Library」は、COMのところではパス名は「c:\Programfiles\common files...」と表示されていますが、それを選択すると参照設定の画面では「c:\window\assembly\GAC\dao\...」になっています。実際には「c:\window\assembly\GAC\dao\...」というフォルダは見つかりません。そのせいか、daoのcreateworkspace(usetype=ODBC)を実行すると エラーになってしまいます。原因がわからず困っています。どなたか わかる方、教えてください。ちなみに「Microsoft .NET frame work 2.0 sp1」はインストール済みです。よろしくお願いします。

  • vbaで参照設定

    Dim Ref As Reference 'Excel Set Ref = References.AddFromGuid("{00020813-0000-0000-C000-000000000046}", 1, 7) 'ADODB Set Ref = References.AddFromGuid("{2A75196C-D9EB-4129-B803-931327F72D5C}", 2, 8) このような感じで、vbaで参照設定をしているのですが、 Microsoft Forms 2.0 Object Library へ、vbaで参照設定をしたい場合、どうなりますか? 今は、 http://www.moug.net/tech/acvba/0020034.html のやり方で手作業で参照設定していますが、 vbaでのやり方が知りたいです。 {00020813-0000-0000-C000-000000000046}", 1, 7 こういうコードの調べ方がわかりません。

  • WindowsCommon controls6.0

    お世話になります。 私の環境(WinXP SP3 Excel2003 Excel2010同居)で作成したVBAを別の人間の環境(WinXP SP3 Excel2003)で動作させようとしましたところ実行時エラーになりました。 調べました結果、MicrosoftWindows Commom Controls6.0なるものが[参照不可]となっていたのが原因のようです。このチェックを外しましたところ正常に動作しました。 私のPCはMicrosoftWindows Commom Controls6.0が参照不可にはなっておらずただチェックが入っている状態でした。 このMicrosoftWindows Commom Controls6.0とは何なのでしょうか? なぜ私のPCに入っていて別の人間の環境では参照不可になっているのでしょうか?

  • Excel VBA で、コードにて参照設定する方法

    Excelで、開いた時に「OPEN」プロシージャにて、あるDLLの参照設定(SOLVER32.DLL)を行いたいのですが、以前のQ&Aで記載されていた方法で行おうとするとエラーが発生し、うまくいきません。 どなたか方法をご存知の方おりましたら、よろしくお願いします。 (環境) Windows XP SP2 Excel 2003 SP2 (コード) Private Sub Workbook_Open() ThisWorkbook.VBProject.References.AddFromFile "c:\SOLVER32.DLL" End Sub (エラー内容)  実行時エラー'1004'  アプリケーション定義またはオブジェクト定義のエラーです。 以上

  • VBAの参照可能なライブラリファイルについて

    参照設定ダイアログに 参照不可と出たライブラリファイルがあります。 このチェックを外すとコンパイルできるのですが、 このライブラリファイルを手にいてコンパイルしたいのですが、入手方法がわかりません。 "Sax Basic Engine v6 - Enterprise Library" というファイルはどこにあるのでしょうか? どなたか、ご存知の方がおられましたら、 教えてください。 よろしくお願い致します。

  • VirtualPC2007にてVBA起動エラー

    VirtualPC2007環境にて、Calender機能を含むExcel VBAモジュールを起動すると『このマシンでは利用できないため、オブジェクトを読み込めませんでした』の現象が発生。回避策を教えてください。 マクロ無効モードで開らき、マクロのコンパイルを実行すると、Calender機能にてエラーがあると指摘しています。『参照設定』では、【参照不可】になっていましたので解除しているのですが、起動すると同じ現象です。GuestOSはWin2K,XP,7の各環境、およびExcel2000,2002,2003の何れにおいても状況は変わりません。なお、当該VBAを含むコードはHostOS上では以下のケースを除き問題なく動作します。Host_OS上で動作しないのは、各Excel版をインストールしている場合です。この場合はExcelをアンインストールしても解決しません。OSのクリアインストールすると解決します。 本問題は、ExcelとOS環境における構造的な問題のように見えます。 どなたか、回避策をご存知の方は、ご指導ください。

専門家に質問してみよう