• ベストアンサー

WMIの使い方

VBスクリプトでWMIを使ってPCのハードウェア情報を 取り込むプログラムを作りました。 しかし、前提としてVBのツール/参照設定で   「Microsoft WMI Scripting v1.2 Libray」 にチェックを入れる必要があります。 これを明示的にプログラムの中で設定してしまう方法は ないものでしょうか。

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

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

>VBスクリプトで VBスクリプトは変数型は定義できないし、参照設定も無いのでは? VB6.0系(VBA含む)プログラムの間違いではないですか? >「Microsoft WMI Scripting v1.2 Libray」にチェックを入れる必要があります。 参照設定の操作は必須ではありません。 変数の定義時に「 As SWbemxxxx 」と記述しなければ良いだけです。 但し、New キーワードを使ってインスタンスを生成している所は CreateObject、またはGetObjectでインスタンスを生成するように 変更します。 【例】 Dim Locator As SWbemLocator Set Locator = New SWbemLocator         ↓ Dim Locator Set Locator = CreateObject("WbemScripting.SWbemLocator")

iso27001
質問者

お礼

こんばんは、ご回答ありがとうございました。 言葉が曖昧で失礼しました。 早速、【例】のとおり記述し、参照設定のチェックを外して 動かしてみましたが、意図したとおりに動いてくれました。 また、New キーワードを使った場合は、参照設定で  「Microsoft WMI Scripting v1.2 Libray」 にチェックが必要でした。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • WMIを有効にする方法が分かりません。

    WMIを有効にする方法が分かりません。 ベンチマークソフトが動作しないのは WMI の初期化が完了しない(WMI が無効になっている)からだということがわかりました。 ベンチマークの作者に問い合わせたところ 「WMI を有効にする方法(デフォルトは有効なので、何らかのソフトで無効に されたものと思います。Windows を軽くすると謳うソフトなど)はネット 上で多数紹介されているので検索してみてください。」 と回答をいtだきましたが・・・ どうしてもWMIを有効に出来ません。 以下2つの方法を試みました。 ・マイコンピューターを右クリック→コンピューターの管理→ サービス→WNI Performance Adapterの開始ボタンを押す。 同じくWNIコントロールで動作してるかチェックすると 「Win32: 指定されたサービスは無効であるか、または有効なデバイスが 関連付けられていないため、開始できません。」 というエラーが出る。 ・コマンドプロンプトから、WNIを再起動した際のエラー内容 参照 http://www.microsoft.com/japan/technet/scriptcenter/topics/help/wmi.mspx winmgmt /kill と入力してWMIを停止後 net start winmgmt と入力してWMIサービスを再起動すると 「指定されたサービスは無効であるか、または有効なデバイスが関連付けられて いないため、開始できません。」 というエラーが出ます。 どのようにしたらWMIを有効にすることが出来るのでしょうか? OS:Windows XP SP3

  • SWbemDateTimeの使い方

    Windows2000+VBA(ACCESS97)です。 WbemScripting.SWbemDateTimeのオブジェクトを使いたいと思っているのですが、CreateObjectで「ActiveXがつくれない」とエラーになります。 オブジェクトブラウザで見てみたところたしかにSWbemDateTimeが中にでてきません。参照設定が不足しているのでしょうか。ちなみに「Windows WMI Scripting V1.1 Library」は参照設定しています。 よろしくお願いします。

  • WMIが・・・。

    USBの無線LAN BUFFALOのWLR-UC-Gがインストール中にエラーでインストールできず。 BUFFALOのHPに書いてある方法でなんとかしようと思い ローカル エリア接続のプロパティで詳細設定のタブをひらくと このようなものが表示されます。 この接続のプロパティを表示できません。Windows Management Instrumentation (WMI) 情報が壊れている可能性があります。修正するには、システムの復元を使って Windows をそれ以前の時点 (復元ポイントと呼ばれます) まで復元します。システムの復元は [アクセサリ] の [システム ツール] フォルダにあります。 いつからこのようになっていたのかわからないのでシステムの 復元ができないです。 なにか直すよい方法はないでしょうか? よろしくお願いします。

  • vbaで参照設定する方法

    sub フォルダをコピーする() Dim myFSO As New FileSystemObject myFSO.CopyFolder "D:\TEST", "D:\TEST2" End Sub を実行したいのですが、 Visual Basic Editor の [ツール]-[参照設定] で、 "Microsoft Scripting Runtime" にチェックせずに、 vbaで参照設定する方法を教えてください。 バージョンは2007です。 ご回答よろしくお願いします。

  • エクセルVBAについて

    現在Excel2010を使っています。 以前に使っていたACCESSのデータを移すという話になり、 こちらを頼りに何とかコードまで打ち込みました。 ただ、実行に問題点があるようなので以下の2点について聞きます。 http://okwave.jp/qa/q3333180.html 質問1 このコードは標準モジュールというところに書いてますが、 書く場所はここでいいのでしょうか。 commandbutton1というオブジェクトを作ってもデバッグにすら入ってくれません。 質問2 ツール→参照設定で Microsoft ActiveX Data Object 2.x Library Microsoft Scripting Runtime にチェックを入れておいてくださいとありますが、 2010ではどこに設定があるのでしょう。

  • Microsoft Excel VBAの参照設定

    参照設定のデフォルト環境で Microsoft Scripting Runtime をオンにしておきたいのですがどうすればいいのでしょうか? 新しくExcelを起動し、その都度、 Microsoft Scripting Runtime をオンにするのは非常に手間なので、わかる方いましたら教えてください。

  • 参照設定 VBAとvb.net

    VBAの場合、他のアプリケーションを参照する場合は、 参照設定でMicrosoft Excel xxx Object Library にチェックを付ければ良いだけだけど、 vb.netの場合は、 参照設定で、Microsoft Excel xxx ObjectLibrary にチェックを付けた上で、更に Imports Microsoft.Office.Interop の宣言をしないといけないのですか? (例はエクセルです) Imports Microsoft.Office.Interop をし忘れると、 [型 'Excel.Workbook' が定義されていません。] と言うエラーが発生します。

  • コードで参照設定をする方法

    VBのコード内で、オブジェクトへの「参照設定」をさせる方法を教えていただけませんでしょうか。 目的は、自分のコンピュータでは参照設定してあるオブジェクトでも、ほかのパソコンではされていると限らないため、アプリ(実際はエクセルブック)の起動時に参照設定を強制したい。参照設定がないと、そのオブジェクト変数の宣言文がコンパイルエラーとなってしまいますよね・・・。 VBAのヘルプによればこちらのメソッド(object.AddFromGuid(guid, major, minor) As Reference)を使うといいような気がするのですが、参照設定したい先(具体的には「Microsoft Scripting Runtime(scrrun.dll)」)の「GUID」がわかりません。レジストリを探さないといけないのでしょうか・・・。探し方がわかりません。

  • VB2005でExcel2003とExcel2007

    初めまして、VB2005でExcelに出力するプログラムの開発を 行っているのですが、大変困っています。 どなたか教えて頂けないでしょうか。 VB2005の参照設定でMicrosoft Excel12.0 Object Library指定 してExcel2007をインストールしているパソコンでは Excelに出力できますがExcel2003を インストールしているパソコンではExcelに出力できません。 又、VB2005の参照設定でMicrosoft Excel11.0 Object Library指定 してExcel2003をインストールしているパソコンでは Excelに出力できますがExcel2007を インストールしているパソコンではExcelに出力できません。 Excel2003・Excel2007どちらがインストール されていてもExcelに出力できるプログラムを作成したいの ですが、何か方法はないでしょうか。 サンプル等があるHPがありましたら教えてください。

  • Windows2003のドメインセキュリティポリシーの一覧作成

    Windows2003でActivedirectoryを構築しています。 管理の都合上、以下の機能で登録しているポリシーの一覧を作成したいと思っています。 「管理ツール」⇒「ドメインセキュリティポリシー」        ⇒「ドメインコントローラセキュリティポリシー」 しかし、上記ツールから出力できる一覧は各項目毎のエクスポート機能しかなく、全項目についてのエクスポート機能はありません。 どなたか、良いツール(フリーが望ましいです)、又はWMIのスクリプトを構築する為の参考となるページがあれば教えてください。 ※MicroSoftのスクリプトセンターは検索済です。 どうぞよろしくお願い致します。