Hatena::Groupvbscript

ProgID

主要な Windows 標準コンポーネントの一覧 → http://vbscript.g.hatena.ne.jp/keyword/ProgID
VBScript 基礎文法最速マスター → http://vbscript.g.hatena.ne.jp/cx20/20100131/1264906231

ProgID

ProgID

概要

ProgID とは、COM クライアント*1から、COM サーバー*2を呼び出すときに使用する ID のことです。

内部的には、CLSID(クラスID)と呼ばれる 16進数の ID(GUID)で管理されています。この CLSID に名前を付けたものが ProgID になります。

ProgID を利用できる COM クライアントとしては VBVBA の他、VBScriptJScript 等があります。

この情報は、実際にはレジストリに登録されています。

HKEY_CLASSES_ROOT\<ProgID>

ProgID の形式としては <プロジェクト名>.<クラス名> が多いですが、場合によっては、

<プロジェクト名>.<クラス名>.<バージョン番号> のようにバージョン番号が付与される場合もあります。

サンプル

' File : SpeakHello.vbs
Dim voice                                ' コンポーネント参照用の変数を宣言します。
Set voice = CreateObject("SAPI.SpVoice") ' CreateObject(<ProgID>) でコンポーネントを生成します。
voice.Speak "Hello"                      ' コンポーネントのメソッドを呼び出します。

実行方法

  1. メモ帳(notepad.exe)を起動し上記サンプルを貼り付けます。
  2. 「SpeakHello.vbs」と名前を付けてデスクトップに保存します。
  3. デスクトップ上にある「SpeakHello.vbs」をダブルクリックします。「Hello」と読み上げます。

※ 実行時エラーが表示される場合は、指定した ProgIDWindows に登録されていない可能性があります。

Windows 標準 コンポーネント

製品名サンプルリファレンス
ADO (ActiveX Data Objects)ADODB.ConnectionADO API リファレンス
DAO (Data Access Objects)DAO.DBEngineDAO から ADO への移植
CDO(Collaboration Data Objects)CDO.MessageCDO Library / リファレンス
FileSystem ObjectScripting.FileSystemObjectスクリプト ラインタイム リファレンス
Script Runtime DictionaryScripting.DictionaryDictionary オブジェクト
VBScript Regular ExpressionVBScript.RegExpRegExp オブジェクト
Windows Script Host Shell ObjectWScript.ShellWindows Script Host リファレンス
Shell Automation ServiceShell.ApplicationScriptable Shell Objects (英語)
Internet ExplorerInternetExplorer.ApplicationInternetExplorer Object (英語)
SAPI (Microsoft Speech API)SAPI.SpVoiceMicrosoft Speech API 5.3 (英語)
CAPICOM (CryptoAPI COM)CAPICOM.UtilitiesCAPICOM Reference (英語)
WBEM Scripting LocatorWbemScripting.SWbemLocatorWMI Reference (英語)
XML DOMMSXML2.DOMDocumentXML DOM Objects (英語)
XMLHTTP (WinINet)MSXML2.XMLHTTPXMLHttpRequest Object (英語)
ServerXMLHTTP (WinHTTP)MSXML2.ServerXMLHTTPIServerXMLHTTPRequest/ServerXMLHTTP (英語)
WIAWIA.ImageProcessWIA Automation Layer objects (英語)
WinHTTPWinHttp.WinHttpRequestWinHttpRequest Object (英語)
WUAPI (Windows Update API)Microsoft.Update.SessionWindows Update Agent (WUA) API Reference (英語)

Windows 7 標準 コンポーネント

製品名サンプルリファレンス
Location APILocationDisp.LatLongReportFactoryLocationDisp.LatLongReportFactory Object (英語)

.NET Framework クラス

製品名サンプルリファレンス
Microsoft .NET RuntimeSystem.CollectionsSystem.Collections 名前空間
Microsoft .NET RuntimeSystem.IOSystem.IO 名前空間
Microsoft .NET RuntimeSystem.SecuritySystem.Security 名前空間
Microsoft .NET RuntimeSystem.TextSystem.Text 名前空間

各製品付属コンポーネント

Microsoft Office 付属コンポーネント

製品名サンプルリファレンス
Microsoft ExcelExcel.ApplicationMicrosoft Office Excel オブジェクト モデル
Microsoft WordWord.ApplicationWord オブジェクト モデル
Microsoft AccessAccess.ApplicationMicrosoft Access オブジェクト モデル
Microsoft OutlookOutlook.ApplicationOutlook オブジェクト モデル
Microsoft Power PointPowerpoint.ApplicationPowerPoint オブジェクト モデル

Microsoft Office 2003/2007 付属コンポーネント(追加インストール)

製品名サンプルリファレンス
Microsoft Office Document ImagingMODI.DocumentMicrosoft Office Document Imaging オブジェクト モデル(英語)

Visual Studio 付属コンポーネント

製品名サンプルリファレンス
TypeLib InformationTLI.TLIApplication*3TypeLib Information オブジェクト(英語)

SQL Server 2000 付属コンポーネント

製品名サンプルリファレンス
SQL-DMOSQLDMO.SQLServerSQL-DMO Reference

Google Earth 付属コンポーネント

製品名サンプルリファレンス
Google EarthGoogleEarth.ApplicationGEGoogle Earth COM API Documentation (英語)

iTunes 付属コンポーネント

製品名サンプルリファレンス
iTunesiTunes.ApplicationiTunes COM Windows SDK (要登録)

Evernote 付属コンポーネント

製品名サンプルリファレンス
Evernoteenapi.EvernoteEvernote API(英語)

Sleipnir 付属コンポーネント

製品名サンプルリファレンス
SleipnirSleipnir.APISleipnir.API リファレンス

*1オートメーション クライアントと呼ぶ場合もあります。

*2オートメーション サーバーと呼ぶ場合もあります。

*3:諸事情(Nortonが攻撃検知の判断をしてしまう為)によりサンプルは削除しました。類似サンプル → http://q.hatena.ne.jp/1206821457#a815885