• 締切済み

WSH createobjectで指定出来るアプリケーション

CreateObjectで指定できるアプリケーションの指定方法について質問致します。 WSHでExcelオブジェクトを生成する場合、  set objxls = wscript.createobject("Excel.Application") や  set objxls = wscript.createobject(<対象exeのパス> などで指定しますが、 初めの表記で指定できるアプリケーション名はどうやって調べれば よいでしょうか? インストールしているアプリのオブジェクトを 初めの表記方法を使って生成したいと考えております。 よろしくお願い致します。

みんなの回答

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.2

レジストリのHKLM\SOFTWARE\Classesの下に列挙されています。 あとはWMIなどを使えばリストアップできるとおもいます。 ちなみにExcel.ApplicationなどはProgIDと呼ばれています。

回答No.1

HKEY_CLASSES_ROOT の下にあるキー群で、配下に "CLSID" ってキーを持ってるってのが最低限の条件じゃないですかね。 "Excel.Application" てのも載ってるでしょ。 んでも呼び出しといて何をどうコントロールすれば良いのか不明なので、私の場合は VB や Excel の VB エディタで参照設定ダイアログを出し、そこで命令やプロパティを確認します。 -------- 気になったのですが、 > set objxls = wscript.createobject(<対象exeのパス> これ、ホントに呼び出せますか?

関連するQ&A

  • CreateObjectとはどういう意味なのでしょ

    CreateObjectとはどういう意味なのでしょうか? よく、IEを立ち上げたい時に Set ObjIE = CreateObject("InternetExplorer.application") を使ってましたが、 Debug.Print CreateObject("Wscript.NetWork").ComputerName でコンピューター名を取得できる事を知りました。 CreateObjectは、オブジェクトやインスタンスを作成するものだと思っていたのですが、 CreateObject("Wscript.NetWork").ComputerNameは、 オブジェクトやインスタンスを作成してないですよね? なので混乱しています。 あと、CreateObjectは関数なのでしょうか?メソッドなのでしょうか?

  • WSHでタブ移動は可能ですか

    WSHでブラウザーのある指定URLを開くまで実現できました(下記の例)が、タブキーで移動する操作を実現させ、移動した部分の文字がある特定の文字の時、またそこのURLに移動させたいのですが、可能でしょうか。 Set objIE = CreateObject ("InternetExplorer.Application") objIE.Navigate("about:blank") strURL = "http://・・・/" Set objShell = CreateObject("Wscript.Shell") objShell.Run(strURL)

  • excel2010でのCreateObject

    OS:Windows7Pro Office:オフィス2010 Excel2007で作成したメール一括送信プログラムがExcel2010でエラーが発生します。 CreateObject メソッドを使用して Outlook Application オブジェクトを作成する際に 「実行時エラー'429' ActiveXコンポーネントはオブジェクトを作成できません。」 と表示されます。デバッグ画面では Dim myOLApp As Object Dim myDATA As MailItem '### OUTLOOKのオブジェクトを作成後、メールを新規作成する。 Set myOLApp = CreateObject("Outlook.Application")   Set myDATA = myOLApp.CreateItem(olMailItem) の Set myOLApp = CreateObject("Outlook.Application")  この部分でエラーになっています。 VB6.0SP6ランタイムのインストールをしましたが状況は変化しません。 Excel2007では正常に動作します。 どこを修正すればよいのでしょう? ご教授いただけると幸いです。宜しくお願いいたします。

  • WSH動作しない!!(WScript.SleepとSendKeys?)

    WSHが動作しなくて困っています。 動作するコードとしないコードは次のとおりです。 いずれも@ITに掲載されているサンプルコードをそのままです。 動作しないコードについても,notepadの起動まではできます。 どうやら,sleepとsendkeysが動いてくれないようです。 <正常に動作するコード> Set objShell = WScript.CreateObject("WScript.Shell") WScript.Echo "メモ帳を起動します。" objShell.Run "notepad.exe" http://www.atmarkit.co.jp/fwin2k/operation/wsh03/wsh03_02.html <動作しないコード> Set objShell = WScript.CreateObject("WScript.Shell") objShell.Run "notepad.exe" WScript.Sleep 1000 objShell.SendKeys "hello" http://www.atmarkit.co.jp/fwin2k/operation/wsh05/wsh05_04.html ■動作環境 Win XP Pro IE 6.0 ちなみに,WSHファイルに対する実行権限はあります(フルコントロールです)。 以上なのですが,何か点検するべき事項などありましたらご教示ください。

  • IEではなくファイアフォックスを指定することは

    VBAでブラウザを開く場合、 IEではなくファイアフォックスを指定することは可能ですか? 既定のブラウザはIEにしています。 Sub test1() Dim objIE As Object Set objIE = CreateObject("InternetExplorer.Application") objIE.Navigate "http://www.ocn.ne.jp/" objIE.Visible = True Set objIE = Nothing End Sub の Set objIE = CreateObject("InternetExplorer.Application") の部分を Set objIE = CreateObject("firefox.exe") に変えてみたら、 【ActiveX コンポーネントはオブジェクトを作成できません。(Error 429)】 になりました。

  • CreateObjectとGetObjectの違い

    当方エクセル2003です。 Sub test_CreateObject() Dim App As Excel.Application Dim MyFileName As String Set App = CreateObject("Excel.Application") MyFileName = ActiveWorkbook.Path & "\新規Microsoft Excel ワークシート.xls" With App .Workbooks.Open FileName:=MyFileName .Visible = True End With Set App = Nothing End Sub --------------------------------------------------------- Sub test_GetObject() Dim App As Excel.Application Dim MyFileName As String Set App = GetObject(, "Excel.Application") MyFileName = ActiveWorkbook.Path & "\新規Microsoft Excel ワークシート.xls" With App .Workbooks.Open FileName:=MyFileName .Visible = True End With Set App = Nothing End Sub この二つは何が違うのでしょうか? どちらも既存のエクセルファイルがが開きます。

  • WSH(Excel出力)の同時実行数の制限

    WSHでExcel出力処理を行っているのですが、 同時実行数が30を超えると、Excelが不安定になるようで、  Set objBook = objExcelApp.Workbooks.Open("C:\xxx\zzz.xls", 0, False) の行で、  エラー:WorkbooksクラスのOpenプロパティを取得できません。  コード:800A03EC  ソース: Microsost Office Excel というエラーが発生して異常終了してしまうのです。 同時実行数の上限など、また、それ以外の原因について、 ご存知の方がいらっしゃいましたら、コメント頂ければ幸いです。 ちなみに、同時実行数が30未満の場合は、正常終了するので、 コードの内容には、問題ないと思っております。 Excelのバージョンは、2003で、ファイルの構成は、 wsfファイル(yyy.wsf) vbsファイル(wsh_excel.vbs)の2ファイルを配置し、 以下のような形で、実行しています。 Set WshShell = Server.CreateObject("WScript.Shell") Set objBatch = WshShell.Exec(strCmd)  ※ strCmdには、以下のような値が設定されます。     cmd.exe wscript.exe "C:\xxx\yyy.wsf" ■ yyy.wsfの内容 <?xml version="1.0" encoding="shift_jis" ?> <job id="zzz"> <script language="VBScript" src="wsh_excel.vbs"/> <script language="VBScript">  Call Excel_Main() </script> </job> ■ wsh_excel.vbsの内容(抜粋) Sub Excel_Main()  Set objExcelApp = Wscript.CreateObject("Excel.Application")  Set objBook = objExcelApp.Workbooks.Open("C:\xxx\zzz.xls", 0, False)     :     : End Sub

  • ExcelVBA 他のアプリケーションを開く2

    こんにちは! これは、セルに書いてあるファイルの絶対パスを読み取り、そのファイルを開くというマクロです(前に質問した時の回答抜粋です) Set WSH = CreateObject("WScript.Shell") If TypeName(Target) = "Range" Then flName = Target.Value WSH.Run flName ・・・(1) End If (1)の部分で、ファイルの絶対パスに空白が含まれる場合、エラーになって開けません・・・(Documents and Settingsのように) 回避する方法はないでしょうか?

  • wshからexcel操作で,ChDirを使いたい

    はじめて質問をします。  monnomestと申します。 vbaのマクロを実行して、シートを作成するwsh(by jscript)を作成しました。そのシートを保存する際にchrdirで保存場所を明示したいのですが、指定の仕方が分かりません。(wshを置いておくdirectoryにしたい。) ChDirは、エクセルのmethodではないため、以下のようでは、エラーになりますし、 var objXL = WScript.CreateObject("Excel.Application"); objXL.Visible = true; with(objXL){ var tar=workbooks.Open(scriptpath+vba); try{ Run("'"+vba+"'!'"+command+"'"); }catch(e){ } tar.Close(); ChDir("xxxxxxx"); ←  とは出来ない。 } もちろん、wshを使わず、vbaをそのまま立ち上げればこんなことする必要はないのですが、 諸々の事情がありまして、wshで行えれば都合がよいのです。 objectが何なのかが分かれば解決でしょうか。 どなたかご教示いただけますでしょうか。

  • CreateObjectを使わない方法

    http://officetanaka.net/excel/vba/tips/tips61.htm のコードを実行したいのですが、 Set WD = CreateObject("Word.Application") を通り過ぎる時に、3秒くらい時間がかかります。 (パソコンが古いからかも知れませんが) なのでもう一つの方法(CreateObjectを使わない方法) でこのマクロを実行したいのですが どういう方法か忘れてしまいました。 参照設定の「Microsoft Word 11.0 Object Library」にチェックをしたのですが、 どういうコードを書けばいいんでしたっけ? CreateObjectを使う方法と、今質問している方法と どちらが早く処理できるかを比べたいと思います。 よろしくお願いします。

専門家に質問してみよう