0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

従前の特許出願案件のうちマルチマルチクレームを含む案件の割合

Last updated at Posted at 2022-04-24

1 ある日の知財部にて

man_think やれやれ、今年(令和4年)4月1日からマルチマルチクレームの出願が認められなくなったんだよなあ。
woman_smile あら、そんなに気に病むことですか。甲田さん。
man_think 乙川さん、いままで普通に書いてきた形式で、日本国特許庁に出願すると拒絶理由通知を受けるんだよ。
woman_question マルチマルチクレームとは、マルチクレームを含む複数のクレーム(請求項)をマルチで引用したクレームのことですよね。 気にしなきゃいけないほど沢山の案件に含まれているんでしょうか。
man_idea そうか! マルチマルチクレームが今までどのくらいの案件に含まれているか把握してなかったよ。早速調査してみよう。

2 マルチマルチクレームとは

woman_smile マルチマルチクレームのいちばん簡単な類型ってこれですよね。
請求項3がマルチクレームで、それを引用する請求項4がマルチマルチクレーム。
woman_question でも甲田さん、請求項の引用関係をしっかりと見ないとマルチマルチクレームかどうかって分かりませんよね。

類型1:

マルチマルチクレーム類型1
【書類名】特許請求の範囲
【請求項1】特定構造のボールベアリング。
【請求項2】内輪がステンレス鋼である請求項1記載のボールベアリング。
【請求項3】外輪がステンレス鋼である請求項1又は2記載のボールベアリング。
【請求項4】外輪の外側に環状緩衝体を設けた請求項1から請求項3のいずれか1項に記載のボールベアリング。
【請求項5】前記環状緩衝体はゴムである請求項4記載のボールベアリング。

man_smile 特許庁から簡易型マルチマルチクレームチェッカのmultimulticheckerが公開されているよ。
だから、各案件の請求の範囲をmultimulticheckerにかけていけば、各案件にマルチマルチクレームが含まれているかどうかが判るよ。
woman_smile multimulticheckerって、htmlにjavascriptで記述されたアプリケーションなんですね。
Azureにデプロイしてみました。
https://jpoapi.azurewebsites.net/multimultichecker_ver_1_1/multimultichecker_ver_1_1.html

キャプチャ.PNG
man_smile 案件については、商用特許データベースからCSVファイルでダウンロードできるよ。
例えば、今年3月4日の公開案件を母集団にしようか。
man_think でも、何千件も請求の範囲をブラウザにコピペするのは大変だよなあ。
woman_laugh じゃあ、各案件の請求の範囲をブラウザにコピペする動作を、Excel VBAで書いてしまいましょう。

3 各案件の請求の範囲をチェックツールに掛けるExcel VBA

man_smile 乙川さん、3月4日の公開案件のCSVファイルをダウンロードしたよ。2568件だから統計的に有意だと思うよ。
woman_smile CSVファイルのAL列が請求の範囲ですね。これをブラウザにコピペして実行ボタンを押したあと、結果を取り込めばいいんですね。そういうExcel VBAを作ります。

4 VBAスクリプトの説明

4.1 請求項解析サブルーチンの説明

man_smile 乙川さん、この請求項解析ってサブルーチンについて教えて。
woman_smile 請求項解析サブルーチンは、AL列に格納された請求項を読み取って、請求項ごとに改行を入れます。そして、mmcheckサブルーチンの第1引数に請求項を渡し、処理結果を第2引数で受け取ります。
woman_smile mmcheckサブルーチンの処理結果を改行で区切り、AM列にマルチマルチクレームの有無を示す結果を書き込み、AN列にマルチマルチクレームを参照している請求項を書き込みます。
請求項解析
Option Explicit

Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr

Private Declare PtrSafe Function PostMessage Lib "user32" Alias "PostMessageA" _
(ByVal hWnd As LongPtr, ByVal wMsg As Long, ByVal wParam As LongPtr, ByVal lParam As LongPtr) As Long


Private Declare PtrSafe Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hWnd As LongPtr, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongPtr

Private Declare PtrSafe Function GetLastActivePopup Lib "user32" (ByVal hWnd As Long) As Long

Const WM_COMMAND As Long = &H111&
Const WM_DESTROY As Long = &H2&
Const WM_CLOSE As Long = &H10&

Sub 請求項解析()
    Dim i As Integer
    Dim j As Integer
    Dim claims As String
    Dim orText As String
    Dim orLines As Variant
    Dim claim  As Variant
    For i = 2 To 2569
        claims = Cells(i, "AL").Value
        claims = Replace(claims, "【請求項", vbCrLf & "【請求項")
        
        Call mmcheck(claims, orText)
        If Len(orText) > 0 Then
            orLines = Split(orText, vbCrLf)
            Cells(i, "AM").Value = ""
            If UBound(orLines) >= 0 Then
                If Left(orLines(0), 6) = "マルチマルチ" Then
                    Cells(i, "AM").Value = orLines(0)
                End If
            End If
            Cells(i, "AN").Value = ""
            If UBound(orLines) >= 1 Then
                If Left(orLines(1), 2) = "上記" Then
                    Cells(i, "AN").Value = RTrim(orLines(1))
                End If
            End If
        End If        
    Next i
End Sub

4.2 mmcheckサブルーチンの説明

man_smile 乙川さん、mmcheckサブルーチンは、マルチマルチクレームチェッカを呼び出すものだよね。
woman_smile mmcheckサブルーチンは、マルチマルチクレームチェッカをデプロイしたURLを呼び出して、ic入力フィールドに請求項を入力して「実行」ボタンをクリックして、orフィールドから結果を取得します。
コードの参考としたURLは https://fastclassinfo.com/entry/vba_ie_control/ です。
woman_laugh ic入力フィールドに請求項を入力することが、請求項フィールドにコピペする動作の代わりです。orフィールドから結果を取得する動作が、結果フィールドから結果をコピペする動作の代わりです。
woman_smile なお、Alertダイアログが表示された場合には、WM_CLOSEを投げてそのダイアログを閉じます。
mmcheck
Sub mmcheck(ByVal claims As String, ByRef orText As String)
    '---コード1|インターネットに接続してブラウザを開く---
    Dim objIE As New InternetExplorer
    Set objIE = New InternetExplorer
    objIE.Visible = True
 
    orText = ""
 
    '---コード2|インターネットの特定のページを開く---
    objIE.Navigate "https://jpoapi.azurewebsites.net/multimultichecker_ver_1_1/multimultichecker_ver_1_1.html"
    Call IEWait(objIE)   'IEを待機
    Call WaitFor(3) '3秒停止
 
    '---コード3|IEに自動で文字入力して情報検索する---
    'キーワードを取得
    Dim s As String
    s = claims
        
    Dim objtag, objsubmit As Object
    
    Set objtag = objIE.Document.getElementById("ic")
    objtag.Value = s
 
    Dim Button As Object
    For Each Button In objIE.Document.getElementsByTagName("button")  
        If Button.textContent = "実行" Then  '値が「実行」なら
             '対象のボタンを取得後、VBAではなく、javascriptでクリックする。そうすることで、制御はVBAに残ったままになり、以下のコードが実行される。
            objIE.Document.Script.setTimeout "javascript:document.getElementsByTagName('button')(0).click()", 200
            'ボタンをクリックして
            Exit For '繰り返し処理を抜ける
        End If
    Next
    
    Call WaitFor(1) '1秒停止
    Dim hWnd As Variant
    hWnd = FindWindow("#32770", "Web ページからのメッセージ")
    If hWnd <> 0 Then
        Debug.Print hWnd, objIE.hWnd
        DoEvents
        PostMessage hWnd, WM_CLOSE, vbOK, 0
    End If
    
    '---コード5|IEを閉じる---
    Dim objOr As Object
    Set objOr = objIE.Document.getElementById("or")
    orText = objOr.innerText
    
    objIE.Quit
    Set objIE = Nothing
End Sub

4.3 IEWaitサブルーチンの説明

man_smile IEWaitサブルーチンって、Internet Explorerを制御するものかな。
woman_smile Internet Explorerの起動完了まで待機する関数です。mmcheckサブルーチンから呼び出されます。
IEWait
Function IEWait(ByRef objIE As Object)
    Do While objIE.Busy = True Or objIE.ReadyState <> 4
        DoEvents
    Loop
End Function

4.4 WaitForサブルーチンの説明

man_smile WaitForサブルーチンって何なのかな。
woman_smile 指定秒数だけ待機する関数です。mmcheckサブルーチンから呼び出されます。
WaitFor
Function WaitFor(ByVal second As Integer)
    Dim futureTime As Date
    futureTime = DateAdd("s", second, Now)
    While Now < futureTime
        DoEvents
    Wend
End Function

5 調査結果

man_smile 乙川さん、結果ってどうだった。
woman_smile はい、甲田さん、マルチマルチクレームありが1457件、マルチマルチクレーム無しが1096件、クレーム参照が不正な案件が15件でした。
man_surprise マルチマルチクレームありの案件が56.7%・・・意外と多いね。これは3月4日公開分であり、マルチマルチクレームが禁止される前の出願だから、マルチマルチクレームありでも拒絶されるわけじゃないんだけど。
woman_think 従来はこんなにマルチマルチクレームありの案件が多いのに、4月1日以降はいきなり拒絶理由の対象になってしまうのですね。
これからの特許出願では、マルチマルチクレームチェッカを積極的に活用した方がいいかもしれませんね。
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?