SiteID = SiteArray(1) Set ie = GetObject(, "InternetExplorer.Application") 1, 【募集】 Set ie = CreateObject("Shell.Application").Windows(0) どなたかご教授いただけないでしょうか? '引数のチェック Dim SiteID 'ID格納 どうしたら前面表示されますでしょうか? はじめまして。VBスクリプトを使用してIISのプロセスIDを取得したいと考えています。HP/過去ログを参照しましたが、方法が分かりません。どなたかご教授いただけないでしょうか?OS:WindowsXP SP2/Windows2000 SP4>IISのプ HP/過去ログを参照しましたが、方法が分かりません。 私はちゃんと使ったことが無いので割愛しますが、以下の記事が参考になると思います。, Windows がなんか重いときにコマンドで調べる(WMIC PROCESS) - Qiita, COMから操作する場合はMicrosoft WMI Scripting V1.2 Libraryを使用します。 Do Until stmCsvFile.AtEndOfLine = True ○エラーメッセージ エラー:オブジェクトがありません。:'objIE.Document.getElementByName(...)(...)' SiteArray(i) = tmp2(1) objWshShell.AppActivate "Microsoft PowerPoint", True 出来るとすれば、IEを捕まえて操作するには、どのようにすれば良い End Sub, とりあえず しかしながら、一回目の実行時はいいのですが、二回目以降時間を置かずにVBSを起動すると の時点で、upw を確認できない状態ですと、 Dim tmp 'CSV格納 Dim strPPTFileName 0 / クリップ Set objPPTApp = W...続きを読む, こんにちは。 End If 'ファイル名取得 '起動 0. Dim tmp2 'CSV分割 Set stmCsvFile = objFSO.OpenTextFile("C:\Users\***\Desktop\login.csv") OS:WindowsXP SP2/Windows2000 SP4, 当方、出張先で、会社から質問、閲覧を行っており、お礼が遅くなり、申し訳ありませんでした。 Dim strPPTFileName ie.Document.forms("sf1").submit '検索 'Option Explicit '---------- ID/PASSの入力 End If stmcsvfile.Close 1 / クリップ 本エラーの回避方法をご教授願えませんでしょうか。 本エラーの回避方法をご教授願えませんでしょうか。 strPPTFileName = WScript.Arguments(0) 以下はVBScriptの場合のサンプルです。, 回答 Do Until objIE.busy = False And objIE.readyState = 4 : Loop '待ち合わせ objIE.Navigate SiteURL エラーの発生場所は objIE.Document.getElementsByName("username")(0).Value = SiteID Const READYSTATE_COMPLETE = 4 以下がVBscript(OpenPptAsReadOnly.vbs)です。 >Set upw =objIE.Document.getElementsByName("password") If WScript.Arguments.Count <> 1 Then WScript.Quit お礼が遅れまして申し訳ありませんでした。 どうもありがとうございました。, お礼が遅くなり、申し訳ありませんでした。 起動したIEは、自身のスクリプトからオブジェクトを生成したもの VBAがあれば、VBEditorのローカルウィンドウで、そのプロパティを確認していただくしかないと思います。もしかしたら、最初からとれていないのかもしれません。, こんにちは。 ■補足 Sub sample() ネットの情報を頼りに下記ソースを作成し、自動ログインできるところまでは達成しました。 どうしたら前面表示されますでしょうか? '---------- その辺りはどうなんでしょうか?それで、Length プロパティを調べるように書いたわけです。 If InStr(ie.Document.body.innertext, "に一致するウェブページは見つかりませんでした") > 0 Then upw(0) という「添字(index)」があるかどうかさえ確認できませんよね。 Loop 起動コマンド Dim ie As Ob...続きを読む, Powerpointをコンテキストメニューに「読み取り専用」を追加するために以下のVBscriptを起動すると前面表示されません。 MsgBox "取得したieの情報" & vbCrLf & ie.LocationName & vbCrLf & ie.LocationURL & vbCrLf & TypeName(ie.Document) Do While (ie.ReadyState <> READYSTATE_COMPLETE) Or ie.Busy: Loop '表示待ち Dim objPPTApp Dim objPPTApp どうもありがとうございました。, 「とは IDS」に関するQ&A: apple idがロックされてしまったので。, 世の中の成功している男性には様々な共通点がありますが、実はそんな夫を影で支える妻にも共通点があります。今回は、内助の功で夫を輝かせたいと願う3人の女性たちが集まり、その具体策についての座談会を開催しました。, 既に起動済みのIEブラウザをWSH(VBS)などから、ハンドルを取得して objIE.Document.getElementsByName("login_form")(0).Submit 内容的には、とあるPPのログ監視を行う検討を行っていたのですが、取りたいログ名は【****_プロセスID.log】というファイル名で、今の監視用PPではログファイル名が固定でないと取れない為、VBSとWinタスクで、別ファイルに対象文字が含まれるログを吐き出し、それを監視したいため、ご質問させていただきました。 Dim ie As Object 'URL,ID,PWをCSVより読込 vbscriptでAppActivateとか使ってウィンドウのアクティブ化とか使ってるとウィンドウタイトルの文字列が無性にほしくなったりします。そんな時に使う起動中アプリケーションのタイトル取得スクリプトがこちら。※ Office Wordがインストールされている端末じゃないと動きません。 HTMLソース内のフォームに値をセット(Document forms elementなどで) あたりだ...続きを読む, こんにちは。 '引数のチェック SitePW = SiteArray(2) If TypeName(obj.Document) = "HTMLDocument" Then Exit For を使って、 Set objFSO = CreateObject("Scripting.FileSystemObject") Set objWshShell = WScript.CreateObject("WScript.Shell") MsgBox "ありません" Do Until objIE.busy = False And objIE.readyState = 4 : Loop '待ち合わせ If ie Is Nothing Then では無く、ウインドウタイトルくらいしか解りません。, とりあえず Set objPPTApp = WScript.CreateObject("Powerpoint.Application") Dim SiteArray(10) 'ID,PW,URL格納 WScript.Quit, Powerpointをコンテキストメニューに「読み取り専用」を追加するために以下のVBscriptを起動すると前面表示されません。 Set ie = CreateObject("Shell.Application").Windows(0) 前提・実現したいことバッチを使用して、実行中のVBSのPIDを取得したい。Windows10使用。 例えば、A.vbsとB.vbsが実行中の時にバッチを実行して、B.vbsのPIDを取得したい。最終的にそのPIDを使用してそのプロセスをkillする事が目的です。 発生して If WScript.Arguments.Count <> 1 Then WScript.Quit objIE.Document.getElementsByName("username")(0).Value = SiteID ふつう、例えば、ここの「教えて!goo」なんかでも、IDとパスワードは、きちんと、[ID(uname, pass)]を持っています。そしてIDには、添字は存在しません。 >コメント頂いた箇所を下記の通り処理を変更しましたが現象はほぼ変わりませんでした。 コード:800A01A8 Set objIE = CreateObject("InternetExplorer.application") '終了処理 'ファイル名取得 Set ie = Nothing Else 3 / クリップ Next VBSでIEをアクティブ化(最前面表示)する . © 2020 NETWIZ.JP All rights reserved. ソース:Microsoft VBScript 実行時エラー Call objPPTApp.Presentations.Open(strPPTFileName,True) Sub sample() Set ie = GetObject(, "InternetExplorer.Application") のどちらかで取得できると思います。 ネットの情報を頼りに下記ソースを作成し、自動ログインできるところまでは達成しました。 Exit Sub また何かありましたらよろしくお願いします。 最終的にそのPIDを使用してそのプロセスをkillする事が目的です。, tasklist /FI "IMAGENAME eq wscript.exe"を使用しましたが、, 得られる情報は以上のみで、どちらのwscript.exeがB.vbsを実行しているか判断できません。, バッチを使用してB.vbsを実行するwscript.exeのPIDを調べる方法は無いでしょうか。 '---------- SUBMIT VBスクリプトを使用してIISのプロセスIDを取得したいと考えています。 objPPTApp.Visible = True For Each obj In CreateObject("Shell.Application").Windows Windows10にUbuntu 20.04 LTSをインストールする[Windows Subsystem for Linux], VMware Workstationを使っていて共有フォルダへアクセスできない場合の対処, Windows10にUbuntu/Kali Linuxを入れたら0x8007007eエラーで実行できない場合の対処, Windows10にUbuntu 18.04 LTSをインストールする[Windows Subsystem for Linux], VBSでIE(Chrome,Firefox,Edge)をアクティブ化(最前面表示)する方法, "Select * From Win32_Process Where Caption='", [改訂版] VBScriptポケットリファレンス (POCKET REFERENCE). 検索ワードとしては、「WMI」「VBScript」「プロセス」「取得」あたりでいろいろ出ると思いますよ。 IE起動前にプロセス一覧を記録し、起動後に増えたIEのプロセスをうまく引ければ実現できそうですね。 プログラムでは無く、環境によるものです。 エラーの発生場所は objIE.Document.getElementsByName("username")(0).Value = SiteID する事はできますでしょうか? ieのページ読み込み待ちしてhtmlドキュメントからwebサイトのタイトル名を取得する方法をご紹介します。面倒なようですがwebスクレイピングはieがページ全体を読みむまで待ってあげてから、データを取得するという手順を踏まなければならないからです。 '---------- ひらく End If 例えば、A.vbsとB.vbsが実行中の時にバッチを実行して、B.vbsのPIDを取得したい。 ご指示いただいた内容で試してみます。 宜しくお願い致します。, タイトルの件ですが、現在CSVよりIDとPWを読み込み、Webページに自動ログインできるVBSを作成しております。 の時点で、upw を確認できない状態ですと、 バッチが無理な場合、VBScriptでは可能でしょうか。, teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。, 評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。, 上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。, バッチでやるのだと、WMIC process where (commandline like "%WScript.exe%foo.vbs%") get processidでいいかと思ったのですが、WMIC自体も引っかかってしまいますので面倒。, ちょっと乱暴ですが、KILLするのが目的なら、これもあり。taskkillでエラーが出るけど無視。, 「Windows Management Instrumentation(WMI)」を使用すると、プロセスのコマンドラインを取得できるため、 teratailを一緒に作りたいエンジニア, "winmgmts:{impersonationLevel=impersonate}", "select * from Win32_Process where CommandLine Like '%wscript.exe%foo.vbs%'", 'Nameが'wscript.exe'かつCommandLineに'b.vbs'が含まれるものを探し, '[WQLクエリステートメントの紹介 - WMI Reference](http://www.wmifun.net/reference/wql_query_statement.html), "WHERE Name = 'wscript.exe' AND CommandLine LIKE '%b.vbs%'", 'WbemScripting = Microsoft WMI Scripting V1.2 Library, '[[WMI Class] Win32_Process クラス - WMI Library](http://www.wmifun.net/library/win32_process.html), '[[WMI for VB6] WMI のメソッドを使ってみよう - WMI Step](http://www.wmifun.net/step/vb6_04.html). 一回目と併せてお礼いたします。 'URL,ID,PWを格納 しかしながら、一回目の実行時はいいのですが、二回目以降時間を置かずにVBSを起動すると あたりだとは思うのですが、何が原因かがわからなく。。 Set objPPTApp = Nothing '起動 tmp2 = Split(tmp, ",") Dim i >Set upw =objIE.Document.getElementsByName("password") ○コード i = i + 1 #1で私の書いた、IsObjectは一般論ですが、個別の問題になるとかなり話は込み入ってしまうから、やめておいたことですが、なんといっても、VBSで、どのように開発しているかは分かりませんが、そのオブジェクトのプロパティとか、確認をして開発したのでしょうか。 Set ie = obj で、いかがでしょうか。, タイトルの件ですが、現在CSVよりIDとPWを読み込み、Webページに自動ログインできるVBSを作成しております。 起動コマンド 0, 回答 でしょうか? 2020年8月30日 1分 ... 先ほどの方法でブラウザのプロセスIDは取得できるので、あとはアクティブ化するだけです。 CreateObject(“Wscript.Shell”)でオブジェクトを作成して、AppActivate メソッドにプロセスIDを指定するだけでウィンドウがアクティブ … エラーが発生します。(IEは起動し、ログイン自体は出来ます) dim objFSO で取得する方法もあるらしいのですが、普通のフォルダもieとして認識してしまうため、純粋にieだけを取得する場合はチェックが必要だと思います。 Windows Script Hostから ファイル拡張子 ".ttl"を持つスクリプトエンジンでは... 回答 strPPTFileName = WScript.Arguments(0) リストからURLを読み込みIEでアクセスしたらスクリーンショットを撮る、というスクリプトを作成していた時にハマったVBSでIE(Internet Explorer)の画面をアクティブ化(最前面表示)させる方法について解説します。, VBSでIE(Chrome,Firefox,Edge)をアクティブ化(最前面表示)する流れ, プログラムが起動するとプロセスIDが割り当てられます。このプロセスIDを使って起動済みのプログラムを再起動させたり終了させる事ができます。, VBSでプロセスIDを取得するための関数は次のように書く事ができます。この関数に引数でプロセス名(chrome.exeだとかfirefox.exe)を渡すとプロセスIDが返ってきます。, 先ほどの方法でブラウザのプロセスIDは取得できるので、あとはアクティブ化するだけです。, CreateObject(“Wscript.Shell”)でオブジェクトを作成して、AppActivate メソッドにプロセスIDを指定するだけでウィンドウがアクティブ化します。, それでは、ただ単にブラウザをアクティブ化するVBSコードです。次のVBSを適当なファイル名(拡張子は.vbs)で保存してください。ファイルをダブルクリックすると、起動済みのブラウザをアクティブ化します。, ブラウザはもはやIEは古いので普及率が高いGoogle Chromeにしました。6行目の箇所がそれです。Firfoxであれば”firefox.exe”、Edgeであれば”MicrosoftEdgeCP.exe”に変えてください。, 単純にウィンドウをアクティブ化するだけのコードですが、色々なところで役に立つのではないかと思います。, 注意点として、複数のウィンドウを立ち上げている場合は一番最後に起動したもののみアクティブ化します。, すべてのウィンドウをアクティブ化したい場合は、それぞれのプロセスIDを取得して順次アクティブ化する処理をおこなう必要があります。. SiteURL = SiteArray(0) Do While (ie.ReadyState <> READYSTATE_COMPLETE) Or ie.Busy: Loop '表示待ち 「コマンドラインの中にB.vbsが含まれているかどうか」程度の判定であれば可能です。, WMIの操作はバッチからも、VBScript(COM)からも、どちらからでも行えます。, バッチから操作する場合はWMIC.exeを使用します。 Dim obj As Object wscript.exe "C:\Program Files\Microsoft Office\Office14\OpenPptAsReadOnly.vbs" "%1" objIE.Visible = True Set ie = GetObject("", "InternetExplorer.Application") また何かありましたらよろしくお願いします。 のどちらかで取得できると思います。 objIE.Document.getElementsByName("password")(0).Value = SitePW MsgBox ie.Document.all("yschinfo").all(6).innertext & "件" で取得する方法もあるらしいのですが、普通のフォルダもieとして認識してしまうため、純粋にieだけを取得する場合はチェックが必要だと思います。 upw(0) という「添字(index)」があるか...続きを読む, ※各種外部サービスのアカウントをお持ちの方はこちらから簡単に登録できます。 tmp = stmCsvFile.readline Set ie = GetObject("", "InternetExplorer.Application") 取得したieでyahooで"おいしいラーメン"の検索結果の件数を表示します。 >コメント頂いた箇所を下記の通り処理を変更しましたが現象はほぼ変わりませんでした。 '読み取り専用で開く Dim SiteURL 'URL格納 ホームページ作成でCGI、VBスクリプト、VB.NETなどがありますが、長所短所はどんなところなのでしょうか. dim stmCsvFile wscript.exe "C:\Program Files\Microsoft Office\Office14\OpenPptAsReadOnly.vbs" "%1" はじめまして。 ie.Navigate "www.yahoo.co.jp" 'yahooへ #1で私の書いた、IsObjectは一般論ですが、個別の問題になるとかなり話は込み入ってしまうから、やめておいたことですが、なんといっても、VBSで、どのように開発しているかは分かりませんが、そのオブジェクトのプロパティとか、確認をして開発したのでしょうか。 Dim SitePW 'PW格納 MsgBox "0件" お客様の許可なしに外部サービスに投稿することはございませんのでご安心ください。. エラーが発生します。(IEは起動し、ログイン自体は出来ます) ie.Document.forms("sf1").elements("srchtxt").Value = "おいしいラーメン" '検索文字 Const READYSTATE_COMPLETE = 4 以下がVBscript(OpenPptAsReadOnly.vbs)です。 取得したieでyahooで"おいしいラーメン"の検索結果の件数を表示します。