VBSで商標検索
J-PlatPatにアクセスして商標を検索することができるVBSを作成しました。
使用する際には、メモ帳等にコピペし、ファイルの拡張子をVBSにします。
商標の検索方法(VBS) のページもご参照ください。
Option Explicit
Const strIE = "iexplore.exe"
Dim searchWord
Dim similarCode
Dim wtime
'待機時間を設定します(ミリ秒)
wtime = 50
'称呼と類似群コードを入力します
searchWord = InputBox("称呼を全角カナで入力してください。" & vbCr & "例:トッキョチョー")
similarCode = InputBox("(任意入力)類似群コードを半角英数で入力してください。" & vbCr & "例:29B01")
'キーワードが空でなければ処理を開始します
If searchWord <> "" Then
Dim ws
Set ws = WScript.CreateObject("Wscript.Shell")
'IEでJPlatPat商標検索にアクセス
Dim ie
Set ie = CreateObject("InternetExplorer.Application")
ie.Navigate "https://www.j-platpat.inpit.go.jp/t0100"
ie.Visible = True
waitIE ie
'プロセスIDを取得し、IEをアクティブにします
Dim locater, connect, instances, instance
Dim PID
Set locater = CreateObject("WbemScripting.SWbemLocator")
Set connect = locater.ConnectServer
Set instances = connect.InstancesOf("Win32_Process")
For Each instance In instances
If Not IsEmpty(instance.processID) And instance.Description = "iexplore.exe" Then
PID = instance.processID
End If
Next
Set locater = Nothing
Set instances = Nothing
Set connect = Nothing
While Not ws.AppActivate(PID)
WScript.Sleep wtime
Wend
'検索項目を「称呼(類似検索)」にセットします
ie.Document.getElementById("t01_srchCondtn_mk_selSearchItem1").Click
WScript.Sleep wtime
ws.SendKeys "{DOWN}"
WScript.Sleep wtime
ws.SendKeys "{ENTER}"
waitIE ie
'キーワードをセットします
ie.Document.getElementById("t01_srchCondtn_mk_txtKeywd1").Click
ie.Document.getElementById("t01_srchCondtn_mk_txtKeywd1").Focus
ie.Document.getElementById("t01_srchCondtn_mk_txtKeywd1").Value = searchWord
WScript.Sleep wtime
ws.SendKeys "{ENTER}"
waitIE ie
'類似群コードの入力があるときセットします
If similarCode <> "" Then
ie.Document.getElementById("t01_srchCondtn_goods_selSearchItem0").Click
WScript.Sleep wtime
ws.SendKeys "{ENTER}"
waitIE ie
ie.Document.getElementById("t01_srchCondtn_goods_txtKeywd0").Click
ie.Document.getElementById("t01_srchCondtn_goods_txtKeywd0").Focus
ie.Document.getElementById("t01_srchCondtn_goods_txtKeywd0").Value = similarCode
WScript.Sleep wtime
ws.SendKeys "{ENTER}"
waitIE ie
End If
'検索ボタンをクリック
ie.Document.getElementById("t01_srchBtn_btnSearch").Click
Set ie = Nothing
Set ws = Nothing
End If
Sub waitIE(ie)
'アクセス完了まで待機
Do While ie.Busy = True Or ie.readystate <> 4
WScript.Sleep 50
Loop
End Sub
このVBSは、インターネットエクスプローラ(IE)を使用します。
VBSでは、開いたIEが自動的にアクティブにならないため、プロセスIDを指定してIEをアクティブにする処理をします。
IEを操作する際には、操作対象のIDを取得し、クリック等の操作をすることが望ましいです。しかし、リストボックスになっている部分について、IDを取得することができなかったため、SendKeysコマンドを使用して[DOWN][ENTER]キーをIEに送信し、検索項目を「 称呼(類似検索) 」にセットしています。 SendKeysコマンド の部分を修正すれば、別の検索項目に変更することも可能です。
また、SendKeysを使用する際、タイミングを調整しないと不安定になるため、随所に WScript.Sleep コマンドで所定時間(50ミリ秒)待機するようにしています。動作が不安定なときは、待機時間を大きくしてください。