VBSの記述について

このQ&Aのポイント
  • VBSの記述によるプログラムの起動方法やログイン機能の実装について教えてください。
  • VBSを使用してプログラムを起動する際に、×××.dllが不足しているというエラーメッセージが表示される問題について解決方法を教えてください。
  • VBSを使用してプログラムを起動する際、IDは自動で入力されており、パスワードは空白でログインする方法について教えてください。
回答を見る
  • ベストアンサー

VBSの記述について

D:\・・・・・・.exe ファイルをダブルクリックすると、下記ダイアログボックスのように×××.dll が不足していると表示され、開きません。表示されたダイアログボックスは『コンピューターに ×××.dll がないため、プログラムを開始できません。この問題を解決するには、プログラムを再インストールしてみてください。 』です。 このソフトは、すべてのプログラムからか、デスクトップのショートカットアイコンをダブルクリックするとかで、×××.dll の表示もなく、正常に起動します。 正常に起動するショートカットのプロパティーは、   リンク先       D:\・・・・・・.exe               保存場所は ×××.dllが不足していると表示される場所と全く同一です。   作業フォルダー  D:\・・・・・BJS   です。 D:\・・・・・・.exe は、全く同じなのに、一方では起動できず、他方では起動できるのも、不思議です。 誠に、厚かましいこととは思いますが、私としては、VBSで、開きたいのですが、構文の全文を、お教えいただけませんか? そして、起動すると、ログイン画面がでます。IDは自動で入力されています。パスワードは、空白なので、ENTERを押し下げれば、ログインできます。ソフトが起動した後、ENTERを押し下げログインできるようにする構文も、お教えいただけませんか? よろしく、お願いいたします。

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

  • ベストアンサー
  • sknbsknb2
  • ベストアンサー率38% (1125/2898)
回答No.3

ANo.1です。ANo.2の補足についてお答えします。 EXEファイルの実行前に作業フォルダの設定が完了している必要があると思われますので、カレントディレクトリの設定をEXEファイル実行の前に行なってください。

yonemasatsu
質問者

お礼

回答のご指示通り行ってみましたら、成功いたしました。 いろいろお世話になり、そして懇切丁寧なるご指導、本当にありがとうございました。 自動でのログインは、がんばってみようと思います。 ありがとうございました。 今後とも、よろしくお願いします。

その他の回答 (2)

  • sknbsknb2
  • ベストアンサー率38% (1125/2898)
回答No.2

ANo.1です。 下記を参照して、カレントディレクトリを作業フォルダにしてみてください。 http://kandk.cafe.coocan.jp/jeans/?itemid=22

yonemasatsu
質問者

お礼

結果の報告が、前後いたしますが、お教えいただいたページを参考に、自動ログインの設定ができました。 ありがとうございました。

yonemasatsu
質問者

補足

ご回答ありがとうございます。 ".\sub" の、.\sub を 作業フォルダ にして "作業フォルダ"(.は付けていません)としてみましたが、『コンピューターに ×××.dll がないため、プログラムを開始できません。この問題を解決するには、プログラムを再インストールしてみてください。 』とダイヤログボックスが出て開きません。 .exe ファイルをダブルクリックすれば、.dllが不足しているとなって、起動せず、しかし、デスクトップのショートカットアイコンをダブルクリックすれば、dllが不足とならずに、起動するのも不思議なのです。 わたしの構文自体に間違いがあれば困りますので、見ていただけますか? Dim objWShell Set objWShell = CreateObject("WScript.Shell") objWShell.Run "D:\・・・・・・.exe", vbNormalFocus, False Set shell = WScript.CreateObject("WScript.Shell") shell.CurrentDirectory = "D:\・・・・・BJS " Set objWShell = Nothing

  • sknbsknb2
  • ベストアンサー率38% (1125/2898)
回答No.1

ソフト起動後にENTERを押すのは下記を参考にしてください。 http://www.atmarkit.co.jp/fwin2k/operation/wsh05/wsh05_04.html 問題はexeファイルを直接指定しても動かない件を解決しないとダメなわけですが、 (1)ショートカットのリンク先のEXEファイルはダブルクリックしているものと同じか。  (同じフォルダ内に複数のEXEファイルがある可能性があるので) (2)ショートカットのリンク先には、EXEファイルのパス以外に加えて、別の記述が  ないか。(何かオプションが指定されている可能性があるので) を確認してください。

yonemasatsu
質問者

お礼

いろいろありがとうございました。

yonemasatsu
質問者

補足

早速の、ご回答ありがとうございます。 ショートカットのプロパティーのリンク先の.exeファイルは、プロパティーのファイルの場所を開く(F)から開いた .exe と全く同じものです。 ショートカットのリンク先には、.exeファイルのパス以外に別の記述は、何もありません。 ファイルの場所を開く(F)から開いた .exe をダブルクリックしてやると、 .dll が不足していると表示されて、起動できないのです。 その開いた .exeから、デスクトップにショートカットを作って、プロパティーの作業フォルダーを見てみると、 正常に起動するショートカットのプロパティーの作業フォルダーと違うのです。ソフトのメーカーに聞くと、作業フォルダーを変更してもらったらダメだというのです。 どのようにショートカットが作られているのか、分からないのですが、こういう手の込んだソフトを、VBSで開こうとするのは、無理なのでしょうか?

関連するQ&A

  • エクセルが起動しません

    デスクトップのショートカット、スタート→プログラムからエクセルが起動しなくなり、「インストーラー」のダイアログボックスがでるようになってしまいました。エクスプローラでみると、officeの中にあるエクセルexeをダブルクリックするとエクセルが起動します。 原因と対処法を教えてください。osは98です。 よろしくお願いします。

  • XDRIVEのログインをSENDKEYで自動化したい

    DRIVEというインターネット上のディスクサービス(?)を利用しています。 http://www.nifty.com/xdrive/ ログインやファイル転送をプログラムで自動化したいと思います。 ログインは、xdrive.exeを起動すると、ダイアログ画面が表示されるので、そこで、 username [TAB] password [ENTER] と入力すると、実行できます。 最初、Windows98上のVBで、次のようなプログラムでうまくログインできました。 ところが、実用にしたいWindows2000上のVBでは、上記プログラムが動作しません。 X = Shell("C:\Program Files\XdriveNT\xdrive.exe", 1) ~2秒ほど時間おくルーチンを入れる~ SendKeys "username{TAB}password{ENTER}" このようにちょっと時間おいてSendKeys動作させると、 ダイアログ画面の「username」欄に、最初反転表示されていたusernameが普通表示に変わるので、アクセスしている形跡はあります。 が、{TAB}で、フォーカスが「password」欄に移動するなど、反応がありません。 試しに、メモ帳を起動して、SendKeysの動作を確認しましたが、正常動作します。 どなたかお分かりでしょうか。

  • コマンドの記述に間違いがありますか?

    Windows7上でSkype 5.5.0.114を使っています。 1. コンピュータ起動と同時にSkypeがスプラッシュなしに起動し、 2. 自動ログインし、 3. タスクトレイにのみ表示される という状態にしたいので、 a. Skype.exeのショートカットを作成し、 b. そのショートカットの「プロパティ」→「リンク先」の欄に以下を記述し、 "C:\Program Files (x86)\Skype\Phone\Skype.exe" /nosplash /username:AAAAAAAA /password:BBBBBBBB /minimized (AAAAAAAAはSkype ID、BBBBBBBBはパスワードです) c. このショートカットを「スタートアップ」フォルダの中に入れました。 これでマシンを再起動すると、Skypeのアイコンはタスクトレイに入るのですが、ログインしていない状態です。ここから手動でログインすると、ログイン画面でSkype IDは入力されていますがパスワードが空欄のままです。 上記b.の中のBBBBBBBBに間違いはないのですが。 どこに間違いがあるのかわかりません。精通しておられる方、お知恵をお貸しください。お願いします。

    • ベストアンサー
    • Skype
  • プログラム開始エラーと出ます

    PCを立ち上げると、メモリ不足のためBRP5304..EXEを読みこめません。いくつかのプログラムを週流オしてからもう一度やりなおしてください 。 とエラーのダイアログボックスが出ます。 他のものは何も立ち上げてません。どうして出るのでしょうか?これはなんのソフトなのでしょうか?これが読みこめないと何が起動できないのでしょうか・・? PCのことは詳しく分かりませんので、教えてください。 よろしくお願いします。

  • AutoHotkeyについて

    AutoHotkeyでスクリプトをかいて、exeけいしきにしました。 で、ダブルクリックすると常駐するようにしました。 ですが、この状態でもういちどそのexeをダブルクリックすると、 「すでに起動してます的な英語が、いかにもエラーメッセージらしく表示されてしまいます) ○そこで、2回目のダブルクリックのとき、「変化なし(何も表示しない)」 ○2回目のダブルクリックのとき、「すでに起動しています」というダイアログボックスがでる の両方の方法をおしえていただけないでしょうか? よろしくお願い申し上げます。

  • MEを起動した最初の画面なのですが・・・

    MEを起動した最初の画面なのですが、画面をユーザーで使い分ける方法を試そうとして2人のユーザーを設定してうまくいったので、元に戻そうとユーザーを削除して元に戻したつもりなのですが、MEを起動するといつも消したはずのユーザーのログインのダイアログボックスが表示されてしまいます。そのたびにいちいちEnterを押さないとならないのですが、元のようにログインのダイアログボックスが表示されずに自動的に表示するようには戻らないのでしょうか?ご存知の方がいらっしゃいましたなら教えてください。お願いします。

  • VBSファイルを定期的に自動実行する方法

    毎日同時刻に下記のVBSファイルを自動実行したいと思います。 タスクスケジューラで実行すると download.exe は起動しますが 表示されたダイアログがアクティブ状態にならないため (タイトルバーが灰色のまま、タスクバーのボタンが点滅)、 文字入力ができないまま、処理が終了してしまいます。 1.ダイアログをアクティブにし、正常に処理を実行させるには   どのように記述すれば良いですか? 2.このVBSファイルをユーザーがログオフされている状態で   実行することは可能ですか? 恐れ入りますが、ご存じの方がおられましたら、ご教示願います。 <環境> Windows 2008 Server R2 standard (64ビット) <D:\aaa.vbs> Set objShell = WScript.CreateObject("WScript.Shell") 'ダウンロードEXEを実行 Set objExec = objShell.Exec("D:\download.exe") WScript.Sleep 1000 objShell.AppActivate(objExec.ProcessID) 'ファイルのダウンロード先を指定し、実行(ENTER) WScript.Sleep 1000 objShell.SendKeys "D:\data.txt~"

  • XP起動時に毎回同じダイアログボックスが現れて困っています!

    XP起動時に「システム コンポーネントをインストールしたり構成するには、コントロールパネルを使ってください 。」というダイアログボックスが毎回表示されて困ってます! 何かのソフトをインストールするときに不完全だったためこのような事象が発生しているのだと思い、思い当たるソフトをすべてアンインストール→再インストールしましたが、状況は一向に改善しません。(システムの復元も時間が経過しすぎていて気づいたらできなくなっていました。自業自得ですが。。。) やむなくmsconfigコマンドでスタートアップを調べていくとc:\i386\setup.exe入っているのを発見。これが怪しいと思い、当該setup.exeをダブルクリックするとやはり同様のダイアログボックスが出現。ビンゴ!と思い、早速チェックボックスをはずして再起動してみると、確かにダイアログボックスは表示されなくなったものの、今度はシステムがめちゃくちゃ不安定に。。。 正直困っています。 どなたか助けてください!

  • VBSでバッチファイルを実行したときに

    VBSでbatファイルを起動したときに、 batファイルの実行が完了するまで、 「ただいま、処理中・・・」というような ダイアログボックスを表示し、処理完了後に そのダイアログボックスを消して、次処理へ いくようなスクリプトの記述の仕方がありまし たら教えてください。 よろしくお願いいたします。

  • ショートカットのリンク先の記述

    リムーバブルディスクにフォルダを作って、そこにexeファイルを置きました。そのexeファイルのショートカットを作り、リムーバブルディスクのルートに置いています。 これをWクリックしてプログラムを起動させたいのですが、環境が変わると、リムーバブルディスクのドライブ名が変わるので、ショートカットのリンクが切れてしまいます。ショートカットのリンク先を書き直すのも面倒です。記述法を変えることで解決できますか? ドライブ名を削除したら、「リンク先が不正」となってしまいました。