• ベストアンサー

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% (7995/21381)
回答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