LeagalAC用 司法書士業務と身近なデジタル

 法務系Advent Calendar2021 6日目担当です。keibunibu さんから引き継ぎました。沖縄県で司法書士をしています。宮城直です。1人事務所で職員はいません。弁護士、企業の法務部の方が多いようなので、私に有益な情報が出せるのか分かりませんが、1つでも気付き等があれば幸いです。

<a href=”https://adventar.org/calendars/6159″>https://adventar.org/calendars/6159</a>

裏LeagalACは、ぼっち法務(Shun Yamashita)_Hubbleさんです。私も読んでみます。

1.とりあえず作ってみたものを発表。改善点等あれば、指摘をお願いします。私の技術で対応出来そうであれば、やりたいと思います。

 参考までにファイルのリンクを貼っていますが、セキュリティ面からダウンロードなどは危ないのかなと思います(誰も必要としていなかったらすみません。)。

https://scrapbox.io/okinanananawawawa/

Emotetの解析結果について 2021年11月26日警察庁

https://www.jpcert.or.jp/at/2019/at190044.html?fbclid=IwAR2SpZ5H3ZbW8jUXZVztHD2bsGIhseGKnZW8GRF7S5Kau65IP3xnU2ThUKU

メールに添付された文書ファイルを開いた時に、マクロやセキュリティに関する警告が表示された場合には、マクロを有効にしたり、セキュリティ警告を無視するような操作をしない。

1番 ライト 「条文検索_法令検索API」

・環境・・・MicrosoftExcel2016

・利用方法・・・法令APIボタンを押して、法令・条項を選択し、検索ボタンを押す。

・スクリーンショット

・中身

Option Private Module
'---------------------------------------------------------------------
' HTTP通信用定義。
'---------------------------------------------------------------------
Sub E_Gav(eType As Long, Article As Long, Plus As Long, Item As Long, f As UserForm)
Dim objXMLHttp As Object, XMLstr  As String, str As String, tx As String, Bodystr As String, V(20), n(20)
'--------------------------------------------------------------------
'HTTPリクエストをするIXMLHTTPRequestオブジェクト。
'文字列変換。指定した数だけ繰り返した文字列を取得。階差有り。
'--------------------------------------------
Dim i As Long, num As Long, tmp As String, ArtStr As String, KakkoFlg As Long
    Set objXMLHttp = CreateObject("MSXML2.XMLHTTP")
    objXMLHttp.Open "GET", E_URL(eType, Article, Plus, ArtStr)
    objXMLHttp.Send
'---------------------------------------------------------------------
'500000回実行したら、プログラムは終了(一旦ファイルを閉じる。)
'--------------------------------------------
    For i = 1 To 500000
        If objXMLHttp.readyState = 4 Then Exit For
        DoEvents
        If i = 500000 Then MsgBox "ネット接続がありません": Exit Sub
    Next
    XMLstr = objXMLHttp.responseText
    f.Title = E_StrSearch(XMLstr, "ArticleCaption")

    For i = 1 To 20
       n(i) = E_NoSearch(XMLstr, "Paragraph", i)
       If n(i) = 0 Then n(i) = E_NoSearch(XMLstr, "Paragraph Hide=""false""", i)
       If n(i) = 0 Then n(i) = Len(XMLstr)
'---------------------------------------------------------------------
'見回りを止めて文字列を返す場合を定義。tmp・・・一時的に値を格納。
'--------------------------------------------
    Next
    For i = 1 To 20
        If n(i + 1) = n(i) Then Exit For
        For j = n(i) To n(i + 1)
            tmp = Mid(XMLstr, j, 1)
            If tmp = ">" Then
                flg = True
            ElseIf tmp = "<" Then
                flg = False
            End If
            If flg And tmp <> ">" And tmp <> " " Then
                V(i) = V(i) & tmp
            End If
'---------------------------------------------------------------------
'表示されるフォームの設定。
'--------------------------------------------
        Next
        V(i) = Replace(V(i), vbLf, "\")
        V(i) = Replace(V(i), vbCrLf, "\")
        V(i) = Replace(V(i), vbCr, "\")
        V(i) = Replace(V(i), "\" & "\" & "\" & "\", "\")
        V(i) = Replace(V(i), "\" & "\" & "\", "\")
        V(i) = Replace(V(i), "\" & "\", "\")
        If Left(V(i), 1) = "\" Then V(i) = Mid(V(i), 2)
        If Right(V(i), 1) = "\" Then V(i) = Mid(V(i), 1, Len(V(i)) - 1)
        If IsNumeric(Left(V(i), 1)) Then V(i) = Mid(V(i), 2)
        If Left(V(i), 1) = "\" Then V(i) = Mid(V(i), 2)
        V(i) = Replace(V(i), "\", "<Br>")
'---------------------------------------------------------------------
'表示されるフォームの設定。
'--------------------------------------------
    Next
    tx = "<b>" & f.Controls("OptionButton" & eType).Caption & ArtStr & "</b><Br>"
    For i = 1 To 20
        If V(i) <> "" Then
            If i = Item Then tx = tx & "<FONT COLOR=#0000DD>"
            tx = tx & "<b>【第" & i & "項】</b>" & "<Br>" & V(i) & "<Br>"
            If i = Item Then tx = tx & "</FONT>"
        End If
'---------------------------------------------------------------------
'括弧書きフラグ。開始位置、場合、とき等の処理。
'--------------------------------------------
    Next
        KakkoFlg = 0
        For j = 1 To Len(tx)
            tmp = Mid(tx, j, 1)
            If tmp = "(" Or tmp = "(" Then
                Bodystr = Bodystr & "<FONT COLOR=#777777>("
                KakkoFlg = KakkoFlg + 1
            ElseIf tmp = ")" Or tmp = ")" Then
                Bodystr = Bodystr & ")</FONT>"
                KakkoFlg = KakkoFlg - 1
            ElseIf Mid(tx, j, 1) = "。" And KakkoFlg = 0 Then
                Bodystr = Bodystr & "<b>。</b>"
            ElseIf Mid(tx, j, 2) = "場合" Then
                Bodystr = Bodystr & "<FONT COLOR=#009900>場合</FONT>"
                j = j + 1
            ElseIf Mid(tx, j, 2) = "とき" Then
                Bodystr = Bodystr & "<FONT COLOR=#009900>とき</FONT>"
                j = j + 1
                
            ElseIf Mid(tx, j, 2) = "除く" Then
                Bodystr = Bodystr & "<FONT COLOR=#FF3366>除く</FONT>"
                j = j + 1
                
            ElseIf Mid(tx, j, 2) = "及び" Then
                Bodystr = Bodystr & "<FONT COLOR=#FF9900>および</FONT>"
                j = j + 1
            ElseIf Mid(tx, j, 3) = "並びに" Then
                Bodystr = Bodystr & "<FONT COLOR=#FFCC00>並びに</FONT>"
                j = j + 2
                
            ElseIf Mid(tx, j, 2) = "又は" Then
                Bodystr = Bodystr & "<FONT COLOR=#FF9900>又は</FONT>"
                j = j + 1
            ElseIf Mid(tx, j, 4) = "若しくは" Then
                Bodystr = Bodystr & "<FONT COLOR=#FFCC00>若しくは</FONT>"
                j = j + 3
                
            ElseIf Mid(tx, j, 3) = "ただし" Then
                Bodystr = Bodystr & "<FONT COLOR=#FF0000><b>ただし</b></FONT>"
                j = j + 2
            ElseIf InStr("一二三四五六七八九十百千", tmp) > 0 Then
                num = E_number(num, tmp)
            ElseIf num <> 0 Then
                Bodystr = Bodystr & num & tmp
                num = 0
            Else
                Bodystr = Bodystr & tmp
            End If
'---------------------------------------------------------------------
'今後、htmlなどを省略する。
'---------------------------------------------------------------------
        Next
    With f.WebBrowser1
        .Navigate "about:blank"
        DoEvents
        .Document.Write "<HTML>"
        .Document.Write "<HEAD>"
        .Document.Write "<font size=""3"" face=""Meiryo UI"">"
        .Document.Write Replace(Bodystr, "_未", "<FONT COLOR=red>_未</FONT>")
        .Document.Write "</BODY>"
        .Document.Write "</HTML>"
        .Document.Body.Style.overflow = "hidden"
    End With
End Sub
'---------------------------------------------------------------------
'開始文字で分ける準備。十、百、千は次の文字列を探す。
'--------------------------------------------
Function E_number(n As Long, tmp As String)
    Select Case tmp
    Case "一"
        E_number = n + 1
    Case "二"
        E_number = n + 2
    Case "三"
        E_number = n + 3
    Case "四"
        E_number = n + 4
    Case "五"
        E_number = n + 5
    Case "六"
        E_number = n + 6
    Case "七"
        E_number = n + 7
    Case "八"
        E_number = n + 8
    Case "九"
        E_number = n + 9
    Case "十"
        buf = n Mod 10
        If buf = 0 Then buf = 1
        E_number = Int(n / 100) * 100 + buf * 10
    Case "百"
        buf = n Mod 10
        If buf = 0 Then buf = 1
        E_number = Int(n / 1000) * 1000 + buf * 100
    Case "千"
        buf = n Mod 10
        If buf = 0 Then buf = 1
        E_number = Int(n / 10000) * 10000 + buf * 1000
    End Select
End Function
'---------------------------------------------------------------------
'<で始まり、>で終わらない文字列は検索から弾く。
'--------------------------------------------
Function E_NoSearch(XMLstr As String, str As String, no As Long) As Long
    E_NoSearch = InStr(XMLstr, "<" & str & " Num=""" & no & """>")
End Function
'---------------------------------------------------------------------
'<,/,>なども文字列として返す。
'--------------------------------------------
Function E_StrSearch(XMLstr As String, str As String) As String
Dim wLen As Long, wStartPoint As Long, wEndPoint As Long
    wLen = Len(str)
    wStartPoint = InStr(XMLstr, "<" & str & "") + wLen + 2
    wEndPoint = InStr(XMLstr, "</" & str & ">")
    If wEndPoint - wStartPoint < 1 Then Exit Function
    E_StrSearch = Mid(XMLstr, wStartPoint, wEndPoint - wStartPoint)
End Function

Function E_URL(Typ As Long, Article As Long, Plus As Long, ArtStr As String) As String
Dim ArtUrl As String, LawUrl As String, TmpRng As Range
    Select Case Typ
    Case 1
       LawUrl = encodeURL("明治二十九年法律第八十九号")
    Case 2
       LawUrl = encodeURL("平成十六年法律第百二十三号")
    Case 3
       LawUrl = encodeURL("平成十六年政令第三百七十九号")
    Case 4
       LawUrl = encodeURL("平成十七年法務省令第十八号")
    Case 5
       LawUrl = encodeURL("平成十七年法律第八十六号")
    Case 6
       LawUrl = encodeURL("平成十七年法律第八十七号")
    Case 7
       LawUrl = encodeURL("平成十八年法務省令第十二号")
    Case 8
       LawUrl = encodeURL("昭和三十八年法律第百二十五号")
    Case 9
       LawUrl = encodeURL("昭和三十九年法務省令第二十三号")
    Case 10
       LawUrl = encodeURL("平成十九年法律第二十二号")
    Case 11
       LawUrl = encodeURL("昭和二十五年法律第百九十七号")
    Case 12
       LawUrl = encodeURL("昭和二十二年法律第二百二十四号")
    Case 13
       LawUrl = encodeURL("昭和二十二年司法省令第九十四号")
    Case 14
       LawUrl = encodeURL("平成十八年法律第百八号")
    Case 15
       LawUrl = encodeURL("平成十九年法務省令第四十一号")
    Case 16
       LawUrl = encodeURL("昭和三十二年法律第二十六号")
    End Select
    For i = 1 To 9999   
'NUMBERSTRINGが関数としてしか動かないので空いてるセルを探して一時使用
        If Cells(1, i) = "" Then Set TmpRng = Cells(1, i): Exit For
    Next
'---------------------------------------------------------------------
'返す文字列の定義。条、項、号。
'--------------------------------------------
        TmpRng.FormulaR1C1 = "=NUMBERSTRING(" & Article & ",1)"
        Calculate
        ArtStr = "第" & TmpRng.Value & "条"
        If Plus <> 0 Then
            TmpRng.FormulaR1C1 = "=NUMBERSTRING(" & Plus & ",1)"
            Calculate
            ArtStr = ArtStr & "の" & TmpRng.Value
        End If
'---------------------------------------------------------------------
'別のファイルからExcelファイルに格納する。法令検索APIから「1」の法令を取得。
'--------------------------------------------
        TmpRng.Value = ""
    ArtUrl = encodeURL(ArtStr)
    E_URL = "https://elaws.e-gov.go.jp/api/1/articles;lawNum=" & LawUrl & ";article=" & ArtUrl
End Function

'---------------------------------------------------------------------
'UTF-8をサポートする。
'--------------------------------------------
Function encodeURL(ByRef str As String) As String
    For i = 1 To 9999
        If Cells(i, 1) = "" Then Set TmpRng = Cells(i, 1): Exit For
    Next
        TmpRng.FormulaR1C1 = "=ENCODEURL(""" & str & """)"
        Calculate
    encodeURL = TmpRng.Value
    TmpRng.Value = ""
End Function

・用途

 条文の仕組みを一定限度で知る。

・主な改善点

 法令番号を記載して法令検索APIに対してリクエストを送信しています。しかし、法令IDを記載すると、情報を取得できません。pythonなどコードからは取得することが出来ます。法令ID で情報を取得できないと、改正後未施行の法令を表示することが出来ません。

e-Gov 法令 API 仕様書(Version 1)1.3 版2020 年 11 月 24 日P4

法令API

https://elaws.e-gov.go.jp/apitop/

2番 ショート PDFファイルからテキストファイル(メモ帳)変換

・環境 windows10 python3 Visual Studio Code

#pdfminer. Pdfinterp.converter. ・・・pdfファイルからテキストを抽出する。#PDFResourceManager・・・抽出したテキストを管理。LAParams・・・pdfファイルの構造を保持する機能を提供。PDFPage・・・1ページずつ取得。
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage

#input_path =‘ファイル名.pdf’。pdfファイルを入れる。
input_path = 'page000001_00269.pdf'

#result.textという名前のファイル・拡張子でアウトプットする。
output_path = 'result.txt'

manager = PDFResourceManager()

#テキストへの変換のため、TextConverterを使用。for文でPDFに1ページずつアクセスしながら、テキストを抽出。
with open(output_path, "wb") as output:
    with open(input_path, 'rb') as input:
        with TextConverter(manager, output, codec='utf-8', laparams=LAParams()) as conv:
            interpreter = PDFPageInterpreter(manager, conv)
            for page in PDFPage.get_pages(input):
                interpreter.process_page(page)


・用途
 不動産の登記情報PDFファイルをテキスト化して、登記申請の際や顧客データベース入力の際に利用する。PDFファイルは、構造化されている必要があります。他にGoogleドライブを利用する方法などあると思いますが、各組織・個々人で利用しやすい方法を採れば良いのかなと思います。

PDFの規格について

PDFの基準が改訂されました 2021年1月5日

https://www.iso.org/news/ref2608.html

ISO 32000-1

https://www.iso.org/standard/51502.html

ISO 32000-2

https://www.iso.org/standard/75839.html

PDF のプロパティとメタデータ

https://helpx.adobe.com/jp/acrobat/using/pdf-properties-metadata.html

PDF Tool API「7.3 PDFファイルの判定」

https://www.antenna.co.jp/ptl/cookbook/vol4/i02-0054.html


3番 サード 会社法人等番号→法人番号

・環境・・・マイクロソフトExcel2016 関数

・下の関数だと、C2のセルに会社法人等番号を入力すると(登記情報のPDFファイルからコピー&ペーストすることを想定しています。)、D2のセルに法人番号が出力されます。

=IF(C2=””,””,9-MOD(SUMPRODUCT(MID(TEXT(C2,”0000000000000″),{2,3,4,5,6,7,8,9,10,11,12,13},1)*{2,1,2,1,2,1,2,1,2,1,2,1}),9))&C2

チェックデジットの計算

https://www.houjin-bangou.nta.go.jp/documents/checkdigit.pdf

・用途・・・顧客データベースの作成。法人名が難しい場合、法人番号から法人名とフリガナを知る、など。

・参考・・・法人番号に関する他の方の記事です。 

「会社法人等番号」を「法人番号」へと変換するRubyのコード

https://qiita.com/kawasaki/items/fc1abfd62db10fa082ca

「会社法人等番号」を「法人番号」へと変換するJavaScriptのコードhttps://qiita.com/kawasaki/items/d124b51a4d75ebec33fb

・寄り道・・・不動産IDも作成されるようです。

4番 センター ショートカットキー

・環境・・・マイクロソフトExcel2016

元コードのリンクです。

https://github.com/ExcelVBAer/RibbonEditorJP/blob/main/README.md

・スクリーンショット

・用途・・・Excelのショートカットキーを覚えるまでの練習。

5番 セカンド 比較

・環境・・・マイクロソフトExcel2016

・用途・・・官報の新旧対照表を成型して、比較するなど。

・参考 マイクロソフトサポート「形式を選択して貼り付け」

https://support.microsoft.com/ja-jp/office/%E5%BD%A2%E5%BC%8F%E3%82%92%E9%81%B8%E6%8A%9E%E3%81%97%E3%81%A6%E8%B2%BC%E3%82%8A%E4%BB%98%E3%81%91-e03db6c7-8295-4529-957d-16ac8a778719

・スクリーンショット

・中身
Sub StrDifEmphasis()
    Const Str1StartSetCell As String = "A2"   ' 文字列1の開始セルの設定セルを指定
    Const TargetCountSetCell As String = "B2" ' 対象行数の設定セルを指定
    
    Dim Str1StartCell As String '文字列1の開始セル
    Dim targetCount As Integer  '対象行数    
    
  Str1StartCell = ActiveSheet.Range(Str1StartSetCell).Value '文字列1の開始セルを取得
  targetCount = ActiveSheet.Range(TargetCountSetCell).Value '対象行数を取得
    
    Dim rowCount As Integer ' 行数のカウンター
    
    ' 対象行走査ループ。文字列1の開始セルから終了セル(対象行数分下)までループ
    For rowCount = 1 To targetCount
        
        ' 頻繁に使用する箇所を変数化(コードを短く且つ冗長性を排除するため)
        Dim str1cell As Range ' 文字列1セル
        Dim str2cell As Range ' 文字列2セル
        Dim resultCell As Range ' 結果セル

        Dim str1 As String ' 文字列1の値
        Dim str2 As String ' 文字列2の値        

        'セルを取得
        Set str1cell = ActiveSheet.Range(Str1StartCell).Offset(rowCount - 1, 0)
        Set str2cell = ActiveSheet.Range(Str1StartCell).Offset(rowCount - 1, 1)
        Set resultCell = ActiveSheet.Range(Str1StartCell).Offset(rowCount - 1, 2)
        
        '文字列1と2の値を取得
        str1 = str1cell.Value
        str2 = str2cell.Value

        'セルの状態を初期化。文字列セルを黒文字に、結果を空白にする
        resultCell.Value = ""
        str1cell.Font.Color = vbBlack
        str2cell.Font.Color = vbBlack

        ' 2つの文字列が異なる場合にのみ処理を行う
        If str1 <> str2 Then
            
            ' 結果セルにメッセージを設定
            resultCell.Value = "改正"
            
            Dim maxLen As Integer ' 2つの文字列の長い方の文字数
            
            ' 2つの文字列の長い方の文字数を設定
            If Len(str1) > Len(str2) Then
                ' 文字列1の方が長いため、文字列1の文字数を設定
                maxLen = Len(str1)
            Else
                ' 文字列2の方が長いため、文字列1の文字数を設定
                ' (文字数が同じ場合もこの処理。str1で行っても同じ)
                maxLen = Len(str2)
            End If
            
            Dim charCount As Integer ' 比較用文字数カウンター
            
            ' 文字比較ループ。大きいほうの文字列の文字数だけループ
            For charCount = 1 To maxLen
                Dim char1 As String '文字列1から抽出した1文字
                Dim char2 As String '文字列2から抽出した1文字
                
                Dim isChar1Under As Boolean ' 文字列1の文字数内か否か
                Dim isChar2Under As Boolean ' 文字列2の文字数内か否か
                
                '文字列1から1文字抽出
                If charCount <= Len(str1) Then
                    'charCountが文字数内に収まっているため1文字抽出
                    char1 = Mid(str1, charCount, 1)
                    isChar1Under = True
                Else
                    '文字数内に収まっていないため空白文字とする
                    char1 = ""
                    isChar1Under = False
                End If
                
                '文字列2から1文字抽出
                If charCount <= Len(str2) Then
                    'charCountが文字数内に収まっているため1文字抽出
                    char2 = Mid(str2, charCount, 1)
                    isChar2Under = True
                Else
                    '文字数内に収まっていないため空白文字とする
                    char2 = ""
                    isChar2Under = False
                End If
                
                ' 相違している文字を赤色に変更
               If char1 <> char2 Then
                If isChar1Under Then
                str1cell.Characters(Start:=charCount, Length:=1).Font.Color = vbRed
                    End If
                    
                If isChar2Under Then
                 str2cell.Characters(Start:=charCount, Length:=1).Font.Color = vbRed
                    End If
                End If                
            Next            
        End If        
    Next  
    MsgBox ("終了")

End Sub

・参考 GitHubで差分を出した場合(白抜きになっている部分が差分です。)。

6番 キャッチャー 会社・法人登録免許税計算

・環境・・・マイクロソフトExcel2016

・用途・・・会社・法人登記の登録免許税を計算してみる。

・改善点・・・見積書等に利用する際は、

1 登記、登録、特許、免許、許可、認可、認定、指定又は技能証明の事項について略称の追加

2 登記情報、登記事項証明書取得、議事録作成や交通費等の料金表マスターデータの追加

3 報酬基準マスターデータの追加

が必要なのかなと思います。利用した機能は、ドロップダウンリスト・IF関数、VLOOKUP関数・e-Gov法令検索のXMLファイルをExcelにインポート・VBAです。

・スクリーンショット

・中身

Dim 下端 As Integer                             '元データの下端
'---------------------------------------------------------------------------------
Sub 漢数字を半角数字に置き換える()
    Sheets("登録免許税").Select                        'シートを選択する ※1
        Columns("A:A").Copy
        Range("B1").PasteSpecial Paste:=xlAll   'すべて貼り付け
        Range("B1").Select                      '列見出し
            ActiveCell.Value = "半角英数"
        下端 = Range(Cells(1, 2), Cells(1, 2)).End(xlDown).Row '元データの下端検出
        リプレスする
End Sub
'---------------------------------------------------------------------------------
'---------------------------------------------------------------------------------
Private Sub リプレスする()
    Range(Cells(2, 2), Cells(下端, 2)).Replace what:="一件につき", replacement:=""
    Range(Cells(2, 2), Cells(下端, 2)).Replace what:="一万八千", replacement:="18000"
    Range(Cells(2, 2), Cells(下端, 2)).Replace what:="一万五千", replacement:="15000"
    Range(Cells(2, 2), Cells(下端, 2)).Replace what:="十五", replacement:="15"
    Range(Cells(2, 2), Cells(下端, 2)).Replace what:="一", replacement:="1"
    Range(Cells(2, 2), Cells(下端, 2)).Replace what:="二", replacement:="2"
    Range(Cells(2, 2), Cells(下端, 2)).Replace what:="三", replacement:="3"
    Range(Cells(2, 2), Cells(下端, 2)).Replace what:="四", replacement:="4"
    Range(Cells(2, 2), Cells(下端, 2)).Replace what:="五", replacement:="5"
    Range(Cells(2, 2), Cells(下端, 2)).Replace what:="六", replacement:="6"
    Range(Cells(2, 2), Cells(下端, 2)).Replace what:="七", replacement:="7"
    Range(Cells(2, 2), Cells(下端, 2)).Replace what:="八", replacement:="8"
    Range(Cells(2, 2), Cells(下端, 2)).Replace what:="九", replacement:="9"
    Range(Cells(2, 2), Cells(下端, 2)).Replace what:="○", replacement:="0"
    Range(Cells(2, 2), Cells(下端, 2)).Replace what:="万", replacement:="0000"
    Range(Cells(2, 2), Cells(下端, 2)).Replace what:="九千", replacement:="9000"
    Range(Cells(2, 2), Cells(下端, 2)).Replace what:="二千", replacement:="2000"
    Range(Cells(2, 2), Cells(下端, 2)).Replace what:="千分の", replacement:="1000/"
    Range(Cells(2, 2), Cells(下端, 2)).Replace what:="千", replacement:="000"
        Range(Cells(2, 2), Cells(下端, 2)).Replace what:="十", replacement:="0"
    Range(Cells(2, 2), Cells(下端, 2)).Replace what:="・", replacement:="."
    Range(Cells(2, 2), Cells(下端, 2)).Replace what:="円", replacement:=""
    
End Sub

7番、8番、9番   ――――といきたいところですが、ここで息切れです。失敗を載せます。

7番 国税庁法人番号システムWEB‐APIを利用し、会社名を入力すると、法人番号・商号・本店所在地が出力されるようにする。3番の前に試してみました。 

国税庁法人番号公表サイト WEB-API仕様書(各バージョン)

https://www.houjin-bangou.nta.go.jp/webapi/kyuusiyousyo.html

・中身

'---------------------------------------
法人番号という名前で何かを作る。
'---------------------------------------
Sub 法人番号()
'---------------------------------------
文字列型で処理する。iは、長い整数として、箱に入れます。
'---------------------------------------
Dim CorpName As String
Dim i As Long
Dim arr As Variant
'---------------------------------------
1行目から最終行まで処理する。エラーが発生した場合、次のVBAコードに進む。
会社名(商号)は、リクエストする際のURLに格納する。
'---------------------------------------
For i = 2 To ThisWorkbook.Sheets(2).Cells(Rows.Count, 2).End(xlUp).Row
CorpName = Cells(i, 2)
On Error Resume Next
arr = CorpCode(URL_Encode(CorpName))
'---------------------------------------
法人番号は、法人名を入力したセルから3つ離れたセルへ出力、法人の正式名称(商号)は、法人名を入力したセルから3つ離れたセルへ出力など。
'---------------------------------------
Cells(i, 3) = arr(4)
Cells(i, 4) = arr(9)
Cells(i, 5) = arr(12)
Cells(i, 6) = arr(13)
Cells(i, 7) = arr(14)

Next i
End Sub
'---------------------------------------
国税庁法人番号公表サイトに対して、リクエストを送信。
'---------------------------------------

Function CorpCode(CorpName As String) As String()
Dim objXMLHttp As Object
Dim tmp
Set objXMLHttp = CreateObject("MSXML2.XMLHTTP")
    objXMLHttp.Open "GET", "https://api.houjin-bangou.nta.go.jp/4/name?id=■■■ID■■■&type=02&mode=2&name=" & CorpName, False
    objXMLHttp.Send
'---------------------------------------
返ってきた情報を、区分に従って区切る。
'---------------------------------------
  
    tmp = Split(Replace(objXMLHttp.responseText, """", ""), ",")
    CorpCode = tmp
'---------------------------------------
End Function
'---------------------------------------
このリクエストはJScript で書かれている。UTF-8に基づいて文字列を出力する。
'---------------------------------------
Function URL_Encode(ByVal strOrg As String) As String
  With CreateObject("ScriptControl")
    .Language = "JScript"
    URL_Encode = .CodeObject.encodeURI(strOrg)
  End With
End Function

・スクリーンショット

でも。。。

 この方法だと金融機関などの場合は正確な情報が出てくるのですが、一般に複数使われているような会社名の場合、都道府県と市区町村を絞り込んで国税庁法人番号システムWEB‐APIにリクエストすることが必要となります。そこまでするのだったら、国税庁の法人番号公表サイトや経済産業省のgBizINFO(ジービズインフォ)サイトで検索をかけた方が速いし正確だ、という判断となり途中で止めました。

8番 法令施行日カレンダー

法令検索APIから、施行日が取得できないので諦めました。

9番 実質的支配者の判定計算

法務省 実質的支払リスト制度の創設(令和4年1月31日運用開始)

https://www.moj.go.jp/MINJI/minji06_00116.html

・株主が実質的支配者に該当するか、判定出来るようにしたかったのですが、間接保有の合算が出来ませんでした。

・スクリーンショット

2 何故、作るのか。

 私は業務用ベンダーソフトや、他のサービスも利用しています。それらがどのような仕組みで動いているのか知りたかったのと、実際のデータを持っている私が、資金や技術、時間の制約の中で作ったらどうなるのか、試してみたかったということがあります。

 自分で出来なかった部分は、改めてベンダーソフトやサービスの凄さを実感し、まだ使い倒してないんじゃないか、もっと色々な使い方があるんじゃないかと感じます。また、1人情シスSlackグループで、質問が出来るようになりました。

3 何故、Excelを使っているのか。

 まず第一に、私の技術不足があります。まだ分からないことが多く、使いながら覚えようとしているつもりでも、忘れています。私がこの半年間で作ってみたものは、ほとんどマイクロソフトExcelを利用しています。現在、CSV、Googleスプレッドシートなど情報をデータベースとして利用するためのソフトには様々なものがあると思います。Excelが入っていないパソコンを使っている方もいらっしゃるかもしれません。

私は、半年ほど前までは、CSVやGoogleスプレッドシートを利用して、他の人が書いたコードを真似しながら自分が作りたいものを作ろうとしていました。

 マイクロソフトExcelに興味を持ったきっかけは、ツイッター上でエクセルに使い方をつぶやいてくださる士業の方(軍曹先生支援先生のざき先生など)がいたからです。それまではただの表、時々ワードの代わりに、箇条書きの文書を作成するのに使うソフトだと思っていました。書籍は論文を書く際に、Excelの本を1冊購入しただけでした。

 市販のExcelに関する書籍や、インターネット上の情報では興味が持てない理由は、業種(私の場合は士業)により全く使わない関数や、VBA(コード)があり、一般に販売されているExcel等の書籍では合わないのだと、Twitter上のExcel使いの方に教えてもらいました。今回作ってみたものも、ほぼマイクロソフトの公式サポートと、他の人が作ったものを参考にしています。

 また、Excelで作ることが出来れば、他のプログラミング言語でも実装できるのではないか、環境構築やブラウザ使用、インターネット使用の必要がないExcelは、外に出せない情報を扱う場合、そのまま内部で使うなら他のデータベースとプログラミング言語で実装する必要がない場合もあるのかなと感じます。

 もっと軽くて、意図しない形で情報が洩れる危険が少ないソフトがあれば、Excelよりそのソフトを使うかもしれません。

参考 “脱Excel”か“活Excel”か

4 司法書士を取り巻くデジタル化の現状

・所有者不明土地等への対応として民法・不動産登記法などの改正、電子署名・本人確認などが注目されている分野かもしれませんが、以前blogを書いてみたのと、他に有益な書籍や記事があると思うので、で今回は省きたいと思います。

・仕様書など

登記・供託オンライン申請システムAPI仕様書

https://www.touki-kyoutaku-online.moj.go.jp/developer.html

この中に、Webサービス編、データ仕様編、アプリケーション仕様編の説明があります。登記申請の後、法務局から「システム上登記出来ないから、この部分を訂正して下さい。」というような連絡が来ることがあるのですが、上の仕様書をみると、そういう仕組みなのか、と分かることがあります。

例えば上の画像は、共同根抵当権の抹消登記申請の申請構造について、法務局から指摘を受けた部分を呟きました。

 上の画像は、不動産番号を間違って入力した場合、現に登記されている不動産があると受付をしてしまい、間違いに気付くのに時間がかかる、ということを示しています。資金決済の場面で気を付けないといけない仕組みです。もし登記されていない不動産番号なら、受付でエラー表示が出るので即日訂正出来ますが、既に登記されている不動産の場合、即日訂正が出来なくなります。

・戸籍情報システム標準仕様書 法務省民事局民事第一課 第 R2.2 版に第 R2.1 版を統合

(第 R3 版)及び第 R3 版の改訂受託事業者:日本加除出版株式会社

https://www.moj.go.jp/content/001357217.pdf

 この仕様書を読んで、初めて法務省、法務局が戸籍副本のデータを持っていることを知りました。

・戸籍手続オンラインシステム構築のための標準仕様書(R3 版)令和3年3月 法務省

https://www.moj.go.jp/content/001357219.pdf

 改正戸籍法120条の4、同法120条の5 

 オンライン化後の戸籍事務処理について、内部での流れを大まかに知るだけでも、実務の感覚が少し違ってくるようになりました。

・住民記録システム標準仕様書【第2.0版】

令和3年(2021 年)8月 31 日自治体システム等標準化検討会(住民記録システム等標準化検討会)

https://www.soumu.go.jp/main_content/000766944.pdf

P294・「住民票」を「住民票記載事項証明書」に、「住民票(除票)」を「住民票除票記載事項証明書」に改める。

・認証文の「この写しは、世帯全員の住民票の原本と相違ないことを証明する。」を「上記の事項は、世帯全員の住民票に記載された事項と相違ないことを証明する。」に改める。

P453の画像

自治体 DX 全体手順書【第 1.0 版】令和3年7月7日総務省

https://www.soumu.go.jp/main_content/000759083.pdf

P14 工程表のイメージ

・LGWAN

法務省「LGWAN/政府共通NWによる登記嘱託~登記・供託オンライン申請システム~」令和2年1月

https://houmukyoku.moj.go.jp/homu/content/001288146.pdf

 LGWAN(総合行政ネットワーク)について知ったのは、2021年9月15日、登記情報提供サービスがシステム不具合を起こしたことが原因でした。

 後日、津時先生に、9月15日、市区町村では登記情報が取得できたのでしょうか?と訊いて、教えていただきました。

(一財)民事法務協会「登記情報提供サービス」

https://www1.touki.or.jp/gateway.html

 システム不具合が起きた旨のお知らせが消えているので、スクリーンショットを撮ることが出来ませんでした。システム不具合は、年に何度か突然起こるようです。個人的に、システム不具合は起こるものと思っていますが、不具合の詳細が公表されないこと、予備のサービス(例えば、LGWANを利用して近接の市区町村役場(所)で登記情報または登記事項証明書を取得。)が提供されないことが少し引っかかっています。

LGWAN についての参考ページ

地方公共団体情報システム機構「総合行政ネットワーク」

・LGWAN について

https://www.j-lis.go.jp/lgwan/about/cms_15039.html

「総合行政ネットワーク(LGWAN)の概要」地方公共団体情報システム機構総合行政ネットワーク全国センター令和2年12月9日P4

・LGWAN-ASP について

https://www.j-lis.go.jp/lgwan/asp/cms_15041.html

・LGPKI について

https://www.j-lis.go.jp/lgwan/lgpki/cms_15042.html

・文字

政府CIOポータル「文字環境導入実践ガイドブック」2019年3月28日

https://cio.go.jp/guides

1.1 背景と目的

我が国においては、一般のコンピュータにおいて処理できるように日本工業規格(JIS)によって規格化された文字以外に、文字表現の違い等の様々な理由により、画像データとして管理されている文字(以下「外字」という。)が100 万文字以上あるといわれています。行政機関では、行政運営上、本人確認等を厳格に行う場合や個人のアイデンティティに配慮する場合に、この膨大な文字を用いようとする傾向があります。その結果、外字をそれぞれのコンピュータに導入する方法や、当該文字のヨミガナを別途データとして管理する方法が採られてきました。

しかしながら、使える文字数は多ければ良いというものではありません。自らのコンピュータに追加した外字は、当該外字を追加していない他のコンピュータでは処理できません。その場合には、正しく表示できないのはもちろんのこと、検索やデータ連携も困難となります。また、文字の数が多ければ多いほど、視認性や表音性の難易度が高まり、結果として社会経済活動が円滑に行われにくくなるおそれがあります。日本語を母国語としない方にとっては、なおさら難しい問題です。

一般の社会生活において現代の日本語を書き表すための漢字使用の目安である常用漢字は約2千文字です。一方で、約2千文字では専門的な内容を伝えにくい等の社会の要請があります。そこで、これまで文字の JIS 規格が整備されてきており、現在は、1万字程度となっています。これは、日常的に用いられるパソコン、スマートフォン、タブレット等において標準的に扱える文字になります。

世界に目を向けると、主要言語における文字は標準化されています。多くの文字を使う必要がなく、容易にデジタル環境へ移行することができています。政府は、「デジタル・ガバメント実行計画」(平成 30 年 7 月 20 日デジタル・ガバメント閣僚会議決定)に基づき、行政サービスの 100%デジタル化をする方針を掲げています。情報システム間のデータ連携を容易に行えるようにし、国民がスマートフォン等で行政サービスを利用できる環境を構築するための文字環境を効率的かつ確実に導入できるよう、行政機関の情報システム担当者向けに本ガイドブックを作成しました。

登記統一文字

戸籍統一文字

https://houmukyoku.moj.go.jp/KOSEKIMOJIDB/M01.html

(一社)文字情報技術促進協議会

文字情報基盤

https://imi.go.jp/mj/

文字情報基盤検索システム

表意文字(日本語など)を表現するための規格。

http://unicode.org/ivd/

IVS(Ideographic Variation Sequence/Selector)は、文字符号としては同一視される漢字の、細かな字形の差異を特別に使い分けるための仕組みです。IVSは文字符号の国際規格であるISO/IEC 10646(2008年版以降)に規定されています。また、IVSと、それに対応する字形の一覧は、UnicodeコンソーシアムからIVD(Ideographic Variation Database)として公開されており、ISO/IEC 10646から正規の規格として参照されています。

文字縮退マップ(IPA)

MJ縮退マップとは

MJ文字情報一覧表で整備されている戸籍統一文字と住民基本台帳ネットワークシスム統一文字を合わせて整理した、約6万文字の文字情報基盤の文字(MJ文字集合)と、約1万文字のJIS X 0213(JIS第1水準~第4水準)の文字との対応関係を、辞書や人名に係る各種告示等を根拠として整理した物です。

MJ縮退マップは、対応関係の根拠情報を収録したデータファイルです。個別の漢字について縮退情報を確認する場合には、文字情報基盤検索システムをご利用ください。漢字を検索し、詳細情報の画面から、各MJ文字図形名に対する縮退候補情報を図形入りで確認することができます。

IPAmj明朝フォント

IPAmj明朝フォントは、人名の表記等で、細かな字形の差異を特別に使い分ける必要のある業務等での活用を想定したフォントです。また、同フォントを十分に活用するためには、対応したアプリケーションソフトが必要となります。通常の文書作成等では、JIS X 0213:2012に準拠したIPAexフォントのご利用をお勧めします。

大学共同利用機関法人 人間文化研究機構 

学術情報交換用変体仮名 公開サイト

https://cid.ninjal.ac.jp/kana/home

このページでは、国際文字コード規格に提案するために選定した「変体仮名」の文字画像と文字情報を公開します。 文字の選定と提案の経緯はこちらをご覧ください。

・これから数年で、提出・申請する機関、情報交換をする相手方との間で、規格に入っていない文字や記号の、個人・組織内部での持ち方が決まってくるのかなと思います(表示されるままの状態で持つのか、IPAmj明朝フォントとアプリケーションを組み合わせて持つのか、画像と文字コードの併用などその他の方法で持つのか。)。



鬼滅の刃フォント

 明日12月7日(火)は、アーリーさんです。裏LeagalACは、elv_p_chanさんです。お楽しみに。

【渉外司法書士協会研修】アジア新興国法務の基礎メモ

2021年11月6日森・濱田松本法律事務所臼井慶宜弁護士

1. アジア各国法令の特徴2. アジア各国の会社ガバナンスの比較3. アジア各国の外資規制の概要4. 【事例演習】アジアにおける販売契約及びライセンス契約5. アジア新興国の国民性(インド・ベトナム)

1.アジア各国法令の特徴

アジアにおいて、その法制度が安定的に運用されている国は少ない。安定的に運用されているか否かの判断のために、その国の法体系が、英米法(Common Law)か、大陸法(Civil Law)かを確認することは有益である。一般的には、 Common Lawの国の法制度の方が安定的に運用されているといえる。ただし、Common Lawならば確実に法制度が安定的に運用されているともいえず、「法運用の歴史」、「裁判官の質」、「裁判官及び行政府役人の腐敗の程度」を総合的に検討する必要がある。

国際協力銀行・海外事業展開アンケート結果(2020年度)

https://www.jbic.go.jp/ja/information/press/press-2020/0115-014188.html

中期的有望国順位 現地マーケット インフラ未整備 法制度の運用不透明

1 中国 2 インド 3 ベトナム 4 タイ5 米国 6 インドネシア7 フィリピン

8 マレーシア9 メキシコ 10 ミャンマー

各国の公務員贈賄リスク・ランキング(2020年版)

https://www.transparency.org/en/cpi/2020/index/nzl

3 シンガポール11 香港19 日本28 台湾33 韓国57 マレーシア

78 中国86 インド86 トルコ94 ブラジル104 タイ104 ベトナム102 インドネシア115 フィリピン134 ラオス137 ミャンマー160 カンボジア170 北朝鮮(最下位)ソマリア、南スーダン

アジアにおける裁判例の確認

アジアの多くの国において、裁判例を確認することが難しい場合がある。中国は、最高人民法院による指導判例がでていること、裁判例も比較的多く公開されていることから、リサーチがしやすく、判決の結果も予想しやすい。

http://wenshu.court.gov.cn/

https://www.itslaw.com/home

ベトナムも最高裁の指導判例はでているが限定的であり、また、公開されている裁判例も少ない。

ベトナム判例制度の実情及び展望

前JICA長期派遣専門家酒 井 直 樹,JICA長期派遣専門家鎌 田 咲 子

https://www.moj.go.jp/content/001246674.pdf

タイも最高裁の判例のみが、限定的に公開されている。

http://www.supremecourt.or.th/webportal/supremecourt/index.php?lang=th

インドネシア及びインドは、相当程度公開されている。

https://putusan.mahkamahagung.go.id/

インド

https://indiankanoon.org/?__cf_chl_jschl_tk__=wRW4KcLHpNzXv.6vB1jYh1CKl0.UHtMbA8_dkw7bOrE-1636178569-0-gaNycGzNCJE

アジアにおける法令・通知の確認方法

アジアの多くの国において、重要な法律は相当程度制定されている。また、各政府当局による施行細則、通知も多く公布されている。書面の法令等を確認することが重要である。但し、法令の内容が曖昧であったり、不明確な部分がある。 また、政府当局が法令解釈の裁量権を有しているので、運用が曖昧となりやすい。

現地における政府当局に対するヒアリングが重要

・ 現地弁護士により、電話等で政府当局に確認する。重要性が高い場合には、正式に政府当局担当者と面談して確認する。常に政府当局の担当者のコメントが正しい訳ではない。重要な論点については、複数のルートで(複数の都市でも)確認する。

アジア各国では外国直接投資を規制しており、投資を行う際に政府許認可必要。 外国投資会社は許認可証書に記載されている経営範囲の業務しかできず、特定する場合が多い。許認可証書に加えて特別認可(サブライセンス)やその他の認可が必要な場合もあることに留意必要。法律や規則の文言上からは差がわからない。

アジア各国における許認可の意義―アジアの適法性の考え方―

アジア各国の会社法における会社の種類

<インドネシア>  株式会社 ⇒非公開会社 ⇒公開会社

<インド> 株式有限責任会社 ⇒公開会社 ⇒みなし公開会社 ⇒非公開会社

<ベトナム> 2名以上有限責任会社 1名有限責任会社 株式会社

<タイ> 式会社 ⇒非公開会社 ⇒公開会社

公開会社と非公開会社の差のキーワード

株主数 式譲渡制限 株式の公募 自己株式保有

ガバナンスの内容―アジア各国の会社組織―

株主総会(社員総会)取締役・取締役会監査役・監査役会・コミサリス会・会計監査人会社・秘書役.

適用される項目

インドネシア(株式会社)

インド(非公開会社)原則挙手による1名1票。

ベトナム(株式会社)特別決議は65%以上の賛成。

ベトナム(2名以上有限責任会社)65%以上の出席。

タイ(非公開会社)4分の1以上の株主の出席。

ガバナンスにおける注意点

日本企業がアジア各国に進出した際に株主総会関連で注意すべきポイント

定足数の観点、合弁会社 開催の機動性/非機動性 株主1名ずつ、定款

決議要件の観点・・・普通決議 特別決議 特殊決議 日本との違い

取締役会の各国比較

インドネシア(株式会社)定足数 定款により規定。

インド(非公開会社)定足数 総数の1/3または2人のいずれか多い方。

ベトナム(株式会社)定足数 全取締役の4分の3以上の出席。

タイ(非公開会社)定足数 附属定款の定めによる。3名超の取締役会でかつ附属定款に定めがない場合は3名の出席。

日本企業がアジア各国に進出した際に取締役会関連で注意すべきポイント

定足数の観点・弁会社 開催の機動性/非機動性 取締役1名ずつ・定款

出席の観点・書面決議方式 電話会議方式 ビデオ会議方式・所在地の観点・日本在住 現地在住

インドで書面決議ができない一定の事項

株式の買い戻しの承認・株式・社債の発行・借金・会社資産の投資・融資の許可及び保証・担保の承認・決算書類・取締役会報告の承認・会社の事業の多様化・ 合併の承認・企業買収・他社の支配権獲得・主要役職員の指名・内部監査役・会社秘書役監査役の指名

インドでビデオ会議ができないとされていた一定の事項

決算書類の承認・取締役会報告の承認・目論見書の承認・会計検討のための監査委員会の会議・合併・買収の承認・コロナの感染拡大で2020年3月19日付通知により時限措置とて上記事項もビデオ会議方式で決議可能に

2021年6月15日付通知により決議禁止が完全に撤廃⇒インドのビデオ会議方式取締役会において決議禁止事項はなくなる

https://www.mca.gov.in/content/mca/global/en/home.html

https://www.mca.gov.in/bin/dms/getdocument?mds=zwpAcIfQhKOgB8vwf%252FztbA%253D%253D&type=open

改正前にタイで電話会議・ビデオ会議による株主総会・取締役会が適法かつ有効に成立したとみなされていた要件

少なくとも定足数の3分の1の人数については同一の開催場所において物理的に出席していること

すべての出席者がタイ国内にいること(物理的に出席している者・電子媒体を用いて出席している者を含む)

情報技術・通信省が定める基準に従った電話会議又はビデオ会議の方法(会議の全てについて録音又は録音録画等を行うこと等)で実施すること

これまで撤廃が議論されてきたが、コロナを機に改正の話が一気に進んで恒久的に要件撤廃の方向で改正

https://www.jetro.go.jp/biznews/2020/04/d493b7ccfa3e1803.html

http://www.ratchakitcha.soc.go.th/DATA/PDF/2563/A/030/T_0020.PDF

インドネシア 公開会社・非公開会社問わず会社法上居住要件なし。もっとも、銀行関連書類、月次税務申告書類、輸入関連書類について法令上居住者のサインが要されている場合があり、実務上は居住取締役が最低1名いることが望ましい。

インド居住取締役(1会計年度において182日以上インドに滞在していることが必要)が最低1名必要。

ベトナム2名以上有限責任会社も株式会社も法定代表者はベトナム居住者である必要。30日以上ベトナムを離れる場合は書面により他の者に法定代表者としての権利付与と義務履行の権限を与える必要。

タイ非公開会社は居住要件なし。公開会社は5名以上必要な取締役の半数以上はタイ国内居住者である必要。

インドネシアにおける会社(外国投資会社)設立手続

https://www.jetro.go.jp/world/asia/idn/invest_09.html

¨ 商号予約(公証人を介して法務人権省へ申請)

¨ 投資基本許可申請(投資調整庁へ申請)

¨ 設立証書(会社設立時定款)作成(公証人による公正証書化が必要)

¨ 会社所在地証明書申請(会社所在地の市役所等へ申請)

¨ 納税者番号申請(所轄の税務署へ申請)

¨ 会社設立登記申請(法務人権省へ申請)

法務人権省から法務人権大臣承認書(会社設立登記)を取得

インドにおける会社(外国投資会社)設立手続

¨ 電子署名認証(DSC:Digital Signature Certificate)取得(政府が認定した認証業者へ依頼)

¨ 取締役識別番号(DIN:Director Identification Number)取得(インド企業省へ申請)

¨ 商号の申請(会社登記局へ申請)

¨ 基本定款(MOA:Memorandum of Association。法定の会社の基本事項を規定)・附属定款(AOA:Articles of Association。会社運営に関する法廷記載事項を中心に規定)作成

¨ 会社設立申請(会社登記局へ申請)

会社登記局より設立証明書(Certificate of Incorporation)が発行されると設立手続完了

ベトナムにおける会社(外国投資会社)設立手続

https://www.jetro.go.jp/world/asia/vn/invest_09.html

外国投資家が会社を設立する場合、一定のプロジェクトを行うために会社を設立するものと扱われる

投資登録証(IRC:Investment Registration Certificate申請(計画投資局又は工業団地・輸出加工区・ハイテク地区・経済特区の管理委員会へ申請)

IRCの発行によって許認可を得たプロジェクトを行うために会社の設立手続を行う

企業登録証(Enterprise Registration Certificate=会社設立登記)発行申請(企業登記局へ申請)

タイにおける会社(外国投資会社)設立手続

https://www.jetro.go.jp/world/asia/th/invest_09.html

¨ 商号予約(商務省へ申請)

¨ 発起人の選定

¨ 基本定款設立証書登録(商務省へ提出)

¨ 発起人による株式引受(発起人は1人最低1株の引受が必要)

¨ 設立株主総会の開催

¨ 資本金の払込み

¨ 会社設立登記申請(設立株主総会から3か月以内)

登記局によって申請が認められれば会社登記完了

インドネシア インド ベトナム タイ公証・認証

https://www.jetro.go.jp/world/asia/standards.html

インドネシアNotarisと呼ばれる公証人が存在。会社設立手続を含む法務人権省への通知・承諾はNotarisが行うことが要求される。その他不動産売買契約の作成等も担当する。日本における司法書士に近い立場。

インド法務省下にNotary Public(公証人)が所属。インドでの公証認証はこのNotaryPublic(公証人)によって行われる。オンラインでの申請も可能。様々な申請に公証が要求されるため、各所に公証役場が存在する。会社設立の面に限っても、登記簿謄本、監査済財務報告書・直近の納税証明書、企業の公証定款写し、代表者または署名権限者のパスポートの写し、事務所の賃貸契約書、事業登録証明書などに公証必要。

タイ公証役場はない。タイで公証人となれるのは、公証人認証ができる免許を取得した弁護士のみ。公正証書作成や公証認証は、この公証人認証ができる免許を取得した弁護士の所属する法律事務所に依頼する。

3.アジア各国の外資規制

アジアにおいて製造業に対する外資規制は限定的である。但し、販売業等のサービス業を営む場合には外資規制がある場合が多い。

雇用確保 技術確保 外貨確保

アセアン主要国で外資規制が最も緩和されているのは、ベトナム。それに対して、外資規制が厳しいのは、タイとインドネシア。

https://www.jetro.go.jp/world/asia/idn/invest_02.html

https://www.jetro.go.jp/world/asia/th/invest_02.html

https://www.jetro.go.jp/world/asia/vn/invest_02.html

インドネシアは、2014年に販売業に関する外資規制を厳しくし、その後、少し規制緩和し、2021年に2014年当時の外資規制に戻した。但し、零細・中堅企業保護の観点は引き続き留保されており、ベトナムでもこの観点に基づく実務上の外資制限がある。

不動産保有

中国• 土地使用権• 工業団地については処分性に制限あることがある。

ベトナム• 土地使用権• 処分性に制限あり• 工業団地利用多い

タイ• 原則49%まで• 工業団地は100%可

インドネシア土地使用権• HGBは処分性制限なし• 工業団地利用多い

インドネシアの外資規制

インドネシアの外資規制は、全般を規律する投資法、及び、インドネシア投資

調整庁(BKPM)が公布するネガティブリストである。このネガティブリストについて、2021年3月4日施行の大統領令(2021年10号令)によって、大幅に規制緩和され、以下の通り、禁止業種とそれ以外とに分けられた。禁止業種の具体例、麻薬の栽培、化学兵器の原料の製造、賭博・カジノ、ワシントン条約禁止魚等の捕獲、サンゴの利用、オゾン層破壊物質製造業。

禁止業種以外の業種について、優先業種、中小規模等留保業種、条件付き投資業種、④上記以外制限業種に区分され、具体的には以下の業種について外資規制が撤廃された。但し、中小規模等留保はある点に留意が必要。

小売業・卸売販売業/広告業/倉庫業/建設業(同年2月2日付政令2021年5号令との矛盾及び特別法の規制問題残る)

金融庁(OJK)が管轄する金融・保険業については、ネガティブリストに拘わ

ず、別途、法令等で外資規制が定められる。

インドの外資規制

インド政府商工省内の産業政策促進局(Department of Industrial Policy

and Promotion)が公布している統合版FDIルール及び随時公表するプレスノート(Press Note)、そして、為替管理ルール(NDI Rules)とよばれる通達により、外資規制のルールを制定している。

https://www.khaitanco.com/thought-leaderships/NDI-Rules-amended-to-allow-74-foreign-investment-in-Indian-insurance-companies-Liberalisation-process-now-complete?utm_source=Mondaq&utm_medium=syndication&utm_campaign=LinkedIn-integration

外国直接投資が全面的に禁止される分野

政府の承認により所定の外資比率まで投資が許容される分野「政府ルート」とよばれる。

政府の承認を要さずに所定の外資比率まで投資が許容される分野「自動ルート」とよばれる。ネガティブリストに列挙されていない事業分野については100%まで自動ルートによる投資が可能

宝くじ事業、賭博業、タバコ産業、不動産売買

政府ルートの具体例

既存製薬業:74%までは政府の承認不要。74%を超えて100%までは政府の承認が条件。電気通信業:49%までは政府の承認不要。49%を超えて100%までは政府の承認が条件

複数ブランドの小売業:一定の条件満たした場合に政府の承認を条件として51%まで直接投資可能。複数ブランドの小売業のための条件

最低、1億USドルの少なくとも50%を3年以内に物流・倉庫等に投資すること、製品・加工品の調達額の最低30%はインド国内の小規模企業から調達すること、③店舗の設置は原則として人口100万人以上の都市に限ること

自動ルートの具体例

新規製薬業:100%まで政府の承認不要。単一ブランドの小売業: 100%まで政府の承認不要。従来は49%を超える投資は政府の承認必要。

マーケット・プレイス・ベースの電子商取引: 100%まで政府の承認不要。

ベトナムの外資規制

一定の麻薬物質、一定の化学物質・鉱物、絶滅動植物、売春、人身売買、無性生殖、爆竹に関する事業活動を禁止

重大プロジェクト

国防、国家の治安、社会秩序、安全、社会道徳、市民の健康を理由として、投資活動を実施するには一定の条件を満たさなければならない分野

ベトナムに対して特に影響の大きいプロジェクト(例: 原子力発電所の建設、

空港の建設、工業団地の開発、5兆ドン以上の投資規模を有するプロジェクト等)を対象として、国会、首相又は省級人民委員会の承認を取得する必要

通常プロジェクト

投資禁止分野、条件付投資分野、重大プロジェクトに該当しない分野

lほとんどの製造業が通常プロジェクトに該当

11のサービス分野(ビジネス、情報、建設・関連エンジニアリング、流通、教育、環境、金融、保険・社会、観光・旅行、娯楽・文化、運輸)に関する外資規制

段階的な外資規制の緩和により多くの分野で外資100%出資が認められるに至ったが、依然として一部の分野で規制が残る。

 一部の分野(放送・TV、石油・ガス採掘、土地所有等)以外の分野について、内国民待遇と最恵国待遇を定める条約

 WTOコミットメントにおいて外資への開放が明記されていない分野については、日越投資協定が適用される可能性

https://www.vn.emb-japan.go.jp/jp/relationship/relationship_2nitietsutoshikyotei_shomei.html

小売業• 外資100%出資可能、但し、2店舗目以降についてはENT(Economic Need Test)をクリアする必要あり。TPP協定の発効(2019年1月14日)から5年後にENTが撤廃される予定。

• 一定品目(タバコ・本・薬品等)の取扱禁止、飲食業 • 外資100%出資可能(従前の「ホテル建設投資等と並行」の要件は2015年撤廃)

• 一部の不動産事業(販売・賃貸用の建物建設、サブリース用の建物賃借、不動産サービス業等)について、外資100%出資可能

• 最低資本金(200億ドン以上)の要件あり、広告業 • ベトナム側パートナーとの合弁(出資比率制限なし)

道路運送業 • ベトナム側パートナーとの合弁(旅客運送: 49%以下、貨物運送: 51%以下)

銀行業• 外国投資家の出資比率合計: 30%以下、• 外国投資家単独の出資比率

個人: 5%以下、法人: 15%以下、「外国戦略投資家」: 20%以下

• 一定の要件の充足、ベトナム国家銀行の事前承認が必要となる場合あり

人材派遣業 • 外資100%出資可能• 預託金・資本金等の要件、目的・業種の制限あり

タイの外資規制

外国人事業法が外資規制を規定する、製造業には一般に規制なし、但し、サービス業に対する規制は広範、BOI(投資委員会)の投資奨励により免除され得る、 修理メンテナンス業についてはFBL(外国人事業ライセンス)の取得が必要となる

外国人の要件

タイ国籍を有しない個人(外国個人)、外国法人、株式資本の半数以上を外国個人又は外国法人が保有するタイ法人

【設定】問題 1~3共通

日本のアパレル企業であるCompany Yは、ベトナム企業であるCompany Xから繊維製品の購入を予定している。当該取引に際して、 Company Yは、Company Xとの間で、販売契約(基本契約)を締結する予定である。

問題 1 (販売契約における個別契約の成立)

Article ● Master agreement and Individual Agreements

1. This Agreement specifies the basic terms of the sales of the products of Company X, which apply to the individual transaction agreements entered into through consultation between the parties (the “Individual Agreements”), and Company X and Company Y shall comply with and perform in good faith both this Agreement and the Individual Agreements.

2. Company X and Company Y may, in the Individual Agreements, exclude some of the terms specified in this Agreement, or specific terms that differ from those of this agreement.

3. Company Y submits to Company X, at least 60 days in advance of Company Y’sdesired delivery date, an order form (in Company X’s designated format) specifying the order date, product name, unit price, order volume, delivery date, delivery location, method of payment and other details based on the inquiries by Company Y.However, Company X may refuse to accept an Individual Agreement submitted my order form at its own discretion based on its production status.

問題 1 (販売契約における個別契約の成立)

Company Yとして販売契約(基本契約)中の以下の個別契約の成立に関する条項をよりよいものにするにはどのようにしたらよいでしょうか?

Article ● Master agreement and Individual Agreements

1. This Agreement specifies the basic terms of the sales of the products of Company X, which apply to the individual transaction agreements entered into through consultation between the parties(the “Individual Agreements”), and Company X and Company Y shall comply with and perform in good faith both this Agreement and the Individual Agreements.

2. Company X and Company Y may, in the Individual Agreements, exclude some of the terms specified in this Agreement, or specific terms that differ from those of this Agreement. Where the terms of an Individual Agreement differ from those of this Agreement, the terms of the IndividualAgreement will prevail.

3. Individual Agreements will be executed upon Company X’s provision of an order receipt company Y following Company Y’s submission, [at least 60 days in advance of Company Y’sdesired delivery date, ]of an order form (in Company X’s designated format) specifying the order date, product name, specifications, unit price, order volume, delivery date, delivery location, method of payment and other details based on the inquiries by Company Y. [However, CompanyX may refuse to accept an Individual Agreement submitted my order form at its own discretion based on its production status.

問題 1 (販売契約における個別契約の成立)

基本契約と個別契約の優劣を明確にする、個別契約の成立タイミングを明確にする、個別契約では対象製品のスペックを必ず契約上明らかにしておく。

問題 2 (販売契約における検収)

Article ● Inspection and Acceptance

1. Company Y shall inspect the Products delivered by Company X (“Inspection”) without delay within ten days after delivery of the Products in accordance with Article.

2. Company Y shall send to Company X a receipt (for Products that pass the Inspection provided for in 1 of this Article) or a notice (regarding Products in which shortfall is discovered) within 2 business days after the delivery of the Products. However, if Company X does not receive such notice (regarding Products in which shortfall or the like is discovered) from Company Y within 2 business days after the delivery of the Products, then it will be deemed that all of the delivered Products passed the Inspection.

3. If a shortfall or surplus is discovered upon Inspection as provided for in 1 of this Article, Company X shall deliver the remaining Products or reclaim the surplus Products within the period specified by Company Y.

4. Company Y may accept delivery of Products that fail the Inspection provided for in 1 of this Article but that Company Y considers usable (“Special Acceptance”).

問題2 (販売契約における検収)

Company Yとして販売契約(基本契約)中の以下の検収に関する条項をよりよいものにするにはどのようにしたらよいでしょうか?

Article ● Inspection and Acceptance

1. Company Y shall inspect the Products delivered by Company X (“Inspection”) based on the criteria designated by Company Y, including determining whether the Products meet the quality criteria provided for in the Article without delay within ten days after delivery of the Products in accordance with Article.

2. Company Y shall send to Company X a receipt (for Products that pass the Inspection provided for in 1 of this Article) or a notice (regarding Products in which a defect, the shortfall is discovered) within 2 business days after the delivery of the Products. [However, if Company X does not receive such notice (regarding Products in which shortfall or the like is discovered) from Company Y within 2 business days after the delivery of the Products, then it will be deemed that all of the delivered Products passed the Inspection.]

3. If a shortfall or surplus is discovered upon Inspection as provided for in 1 of this Article, Company X shall deliver the remaining Products or reclaim the surplus Products within the period specified by Company Y; if a malfunction, defect, deterioration, or the like is discovered in the Products, COMPANY X shall repair or replace the Products at no cost to COMPANY Y within the period specified by COMPANY Y.

4. Company Y may accept delivery of Products that fail the Inspection provided for in 1 of this Article but that Company Y considers usable (“Special Acceptance”).

問題2 (販売契約における検収)

検収の基準について明示する。買う側の基準とすることが望ましいが、当事者間で書面で合意した基準、と言うところまでは譲歩可能、検収において明らかな欠陥についての処理についても規定することを忘れない。検収の結果欠陥が見つかった場合に売主に要請する対応(修理・交換)について明示することを忘れない。

問題3 (販売契約における瑕疵担保責任)

Article ●Liability for defects

1. If Company Y discovers that the Products delivered to it by Company X are soiled, broken, or otherwise defective, Company Y may request the following after notifying Company X of such defect, unless the Products have been damaged due to gross negligence on the part of Company Y after delivery:

(i) Sorting and repair of the defective Products Company Y may instruct Company X to sort and repair the defective Products.

(ii) Payment of sorting and repair expenses for the defective Products If Company Y sorts and repairs the defective Products itself or through a third party, Company Y may charge Company X for the parts, work, and other expenses necessary with respect thereto.

2. If Company X requests that the defective Products be returned, the parties shall consult regarding how to carry out such return.

問題 3 (販売契約における瑕疵担保責任)

 Company Yとして販売契約(基本契約)中の以下の瑕疵担保責任に関する条項をよりよいものにするにはどのようにしたらよいでしょうか?

Article ● Liability for defects

1. If Company Y discovers that the Products delivered to it by Company X are soiled, broken, or otherwise defective within the warranty period provided for in Article, Company Y may request the following after notifying Company X of such defect, unless the Products have been damaged due to gross negligence on the part of Company Y after delivery; if it is unclear to which of the parties the defect in the Products is attributable, the parties will determine liability through consultation:

(i) Delivery of replacements

Company Y may request that Company X deliver replacements for the defective Products

(ii) Sorting and repair of the defective Products

Company Y may instruct Company X to sort and repair the defective Products.

(iii) Payment of sorting and repair expenses for the defective Products

If Company Y sorts and repairs the defective Products itself or through a third party, Company Y may charge Company X for the parts, work, and other expenses necessary with respect thereto.

(iv) Reduction of price of the defective Products

Company Y may reduce the price of the defective Products in accordance with the written agreement with CompanyX.

2. Company X shall compensate Company Y for any damage incurred by Company Y due to a defect in the Products within the warranty period provided for in Article.

3. If Company X requests that the defective Products be returned, the parties shall consult regarding how to carry out such return.

問題 3 (販売契約における瑕疵担保責任)

 瑕疵担保の保証期間を明確にしておく。瑕疵の原因が当事者のいずれに帰責出来るかが不明な場合の処理を明示しておく。瑕疵担保責任の内容として代替品の提供や代金減額の規定を忘れずに入れ込んでおく。瑕疵担保責任の結果、買主が売主に対して損害賠償請求できる旨は明示的に規定しておく。

ライセンス契約における4大重要ポイント。ロイヤリティの計算方法。非独占的ライセンスか独占的ライセンスか。供与側の保証義務の範囲。改良技術の帰属。

【設定】問題 4~6共通

 日本の企業であるCompany Yは、精密機器の製造販売を業とする会社であるが、今般、中国企業であるCompany Xに対してCompany Y製の精密機器(Products)の製造に係る技術ノウハウ及び技術資料を提供するとともに、当該精密機器製造に必要な部品(Parts)を有償で提供することを予定している。Company YとCompany Xとの間の取引は今回が初めてである。Company Yは、Company Xとの間で、原料の有償供給を含めたライセンス契約の締結を予定している。

問題 4 (部品有償供給における支払)

Article ● Payment Terms

1. Company X shall pay for the Parts within 7 days after the Acceptance.

2. Company X shall make the payment for the Parts to Company X on a US dollar basis by T/T Remittance.

請負契約のようなイメージ。

問題 4 (部品有償供給における支払)

Company Yとして、Company Xへの部品の有償供給の支払方法に関するライセンス契約中の以下の条項をよりよいものにするにはどのようにしたらよいでしょうか?

Article ● Payment Terms

1. Company X shall pay for the Parts as follows:

a. Company X shall pay 20% of the total purchase price of the Parts in a Purchase Order, within 7 days from the acceptance of that Purchase Order by Company Y.

b. Company X shall pay 60% of the total purchase price of the Parts in a Purchase Order before the shipment of the Parts in a Purchase Order.

c. Company X shall pay the balance of the purchase price of those Pats within 7 days after the Acceptance.

2. Company X shall make the payment for the Parts to Company X on a US dollar basis by T/T Remittance.

問題 4 (部品有償供給における支払)

<ポイント>信頼関係の薄い相手方との間では代金は前払いや中間払いなど対象物を引き渡した後に全額の支払いをさせる、といった状況は避ける。

問題 5 (ライセンス契約における保証範囲)

Article ● Representations and warranties by Company Y represents and warrants that:

1. The manufacture of the Products does not infringe the rights, including patents, of any other person in any country within the;

2. Company Y or its contract manufacturer has all the approvals, licenses and permits from the Regulatory Authority in Japan required to manufacture the Products (Company Y and its contract manufacturer shall immediately discontinue the manufacture of the Products if any such approval, license, or permit is suspended, expired or withdrawn); and

3. The manufacturing facilities of Company Y or its contract manufacturer located at the site where the Products will be manufactured have all approvals required by the Regulatory Authorities for the manufacture of the Products and such manufacturing facilities and practices used in the facilities conform to, and shall continue, during the term of this Agreement, to conform to Laws of Japan.

問題 5 (ライセンス契約における保証範囲)

Company Yとしてライセンス契約中の以下の保証範囲に関する条項をよりよいものにするにはどのようにしたらよいでしょうか?

Article ● Representations and warranties by Company Y represents and warrants that:

1. To Company Y’s knowledge, The manufacture of the Products does not infringe the rights, including patents, of any other person in any country within the;

2. Company Y or its contract manufacturer has all the approvals, licenses, and permits from the Regulatory Authority in Japan required to manufacture the Products (Company Y and its contract manufacturer shall immediately discontinue the manufacture of the Products if any such approval, license, or permit is suspended, expired or withdrawn); and

3. The manufacturing facilities of Company Y or its contract manufacturer located at the site where the Products will be manufactured have all approvals required by the Regulatory Authorities for the manufacture of the Products and such manufacturing facilities and practices used in the

facilities conform to, and shall continue, during the term of this Agreement, to conform to Laws of Japan.

4. EXCEPT AS EXPRESSLY SET FORTH IN THE ARTICLE●, COMPANY Y MAKES NO WARRANTIES, INCLUDING THOSE OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR SPECIAL CIRCUMSTANCE, NOR ANY OTHER WARRANTIES MADE EXPRESS OR IMPLIED. Company Y’s warranties under this Article are not applicable if the Products are modified, altered, or otherwise changed without the prior written consent of Company Y.

問題 5 (ライセンス契約における保証範囲)

<ポイント>

ライセンサーによる保証の範囲は可及的に限定する。とりわけ第三者の知的財産権の侵害の有無については調べ切ることが極めて困難なため、ライセンサーの「知る限りで」(あるいは「知り得る限りで」)として限定を行う。ライセンサーが保証を行わない範囲の明示も上記と同趣旨で重要となる。その他考えられる保証の限定としては、ライセンサーが指定した態様による仕様に限定したり、ライセンサーの損害賠償の範囲を既払ロイヤリティ額に限定したり、といった内容も考えられる。

問題 6 (ライセンス契約における改良技術)

Article ● Improvement

In the event that any development or improvement as to the Products, (“Improvement”) are made solely by Company X or jointly by Company X and Company Y hereto, Company X shall promptly disclose to Company Y such Improvement, together with any pertinent technical information and data.

問題 6 (ライセンス契約における改良技術)

Company Yとしてライセンス契約中の以下の改良技術に関する条項をよりよいものにするにはどのようにしたらよいでしょうか?

Article ● Improvement

In the event that any development or improvement as to the Products, (“Improvement”) are made solely by Company X or jointly by Company X and Company Y hereto, Company X shall promptly disclose to Company Y such Improvement, together with any pertinent technical information and data, and (i) grant to Company Y a royalty-free, non-exclusive, worldwide and perpetual right and license to utilize such Improvement, as applicable and (ii)

upon Company Y’s request, promptly assign and transfer to Company Y, with reasonable charge, the Improvement or Company X’s share in the Improvement. If Company Y makes any application for a patent and/or any intellectual property rights regarding such Improvement, Company X shall provide to Company Y such assistance as requested by Company Y at the cost of Company Y.

問題 6 (ライセンス契約における改良技術)

<ポイント>改良技術についてはライセンサーとしては少なくとも、ロイヤリティ・フリーで非独占的な使用権を取得できるようにする。さらに言えば、合理的な対価でのライセンサーへの改良技術の譲渡を、ライセンサーの要求をトリガーとして行える等にしておくことが望ましい。ライセンサーによる当該技術の特許出願等についてもライセンシーの協力を明文規定で取り付けておくことも円滑な特許申請のためには重要となる。

法人番号システム Web-API

 国税庁法人番号公表サイトの、法人番号システムWeb-APIを利用して法人名を入力すると法人番号、商号、本店所在地が出力されるようにならないかなと作ってみました。

国税庁法人番号公表サイト「法人番号システムWeb-API」

https://www.houjin-bangou.nta.go.jp/webapi/

アプリケーションIDの発行手続

https://www.invoice-kohyo.nta.go.jp/web-api/pre-reg

 Web-APIを利用するためには、国税庁が発行するアプリケーションIDが必要です(アプリケーションIDの発行は無料です。)。アプリケーションID発行届出はアプリケーションID発行届出フォームに必要事項を入力し、送信をすることにより行うことが可能です。

  アプリケーションID発行届出フォームへは仮登録後に国税庁から送信されるメールに記載されているURLからアクセスすることが可能です。なお、このサイトから取得したアプリケーションIDは「法人番号システムWeb-API」においても利用することが可能です。

 今回は、Excelで作ってみました。GoogleスプレッドシートのGoogle Apps Script(GAS)や、プログラム言語を書いて、WEB上で利用できるようにするコtも出来ると思います。

 最近は、まずExcelやワード等で使えないかなと考えてやってみて、可能なら他の方法でも出来るんじゃないかなと思っています。

 今回は個人でしか使わないこともあり、WEBサイト等を作成する必要もありません。既に国税庁、経済産業省にあります。

 まず、青い枠で囲っている箇所に法人名を入れてみます。

Web-API の利用手続について(共通編)-公表サイト-4.4 版 -

令和3年 10 月国税庁法人番号管理室

https://www.houjin-bangou.nta.go.jp/documents/k-web-api-tetuduki.pdf

法人名を入力した後、マクロというものを実行します。

マイクロソフトサポートセンター「マクロ記録で作業を自動化する」

https://support.microsoft.com/ja-jp/office/%E3%83%9E%E3%82%AF%E3%83%AD%E8%A8%98%E9%8C%B2%E3%81%A7%E4%BD%9C%E6%A5%AD%E3%82%92%E8%87%AA%E5%8B%95%E5%8C%96%E3%81%99%E3%82%8B-974ef220-f716-4e01-b015-3ea70e64937b

下のような言葉が、Excelのマクロという場所に入っています。

Option Explicit


Sub 法人番号()
'---------------------------------------
Dim CorpName As String
Dim i As Long
Dim arr As Variant
For i = 2 To ThisWorkbook.Sheets(2).Cells(Rows.Count, 2).End(xlUp).Row
CorpName = Cells(i, 2)
On Error Resume Next
arr = CorpCode(URL_Encode(CorpName))

Cells(i, 3) = arr(4)
Cells(i, 4) = arr(9)
Cells(i, 5) = arr(12)
Cells(i, 6) = arr(13)
Cells(i, 7) = arr(14)

Next i
End Sub

Function CorpCode(CorpName As String) As String()
Dim objXMLHttp As Object
Dim tmp
Set objXMLHttp = CreateObject("MSXML2.XMLHTTP")
    objXMLHttp.Open "GET", "https://api.houjin-bangou.nta.go.jp/4/name?id=KQTiv2Hfbj5kJ&type=02&mode=2&name=" & CorpName, False
    objXMLHttp.Send
    
    
    tmp = Split(Replace(objXMLHttp.responseText, """", ""), ",")
    CorpCode = tmp
'---------------------------------------
End Function

Function URL_Encode(ByVal strOrg As String) As String
  With CreateObject("ScriptControl")
    .Language = "JScript"
    URL_Encode = .CodeObject.encodeURI(strOrg)
  End With
End Function

マクロを実行すると、法人番号、商号、本店所在地が出力されました。おそらく、琉球銀行と入力したときにマクロが実行されるようにすることも出来ると思いますが、現在そこまで出来ていません。

 銀行などは、正確な情報が出てきましたが、法務省や沖縄県、商号が複数あるような法人は正確な情報が出てきません。法人名だけではなく、都道府県、知っていたら市区町村の情報まで含めて、国税庁の法人番号システムWeb-API機能に対して送ることが出来れば、もう少し正確な情報が出てくるのかなと思います。

なぜ、法人番号なのか。司法書士であれば、登記情報を取得する際に会社法人等番号を知ることが出来ます。登記情報のPDFファイルは、テキストのコピー&ペーストが可能な構造になっています。

法人番号と会社法人等番号の違いを教えてください。

https://www.houjin-bangou.nta.go.jp/shitsumon/shosai.html?selQaId=00128

 法人番号は、番号法に基づき、国税庁長官が指定する13桁の番号です。1法人に対し一つの番号が指定され、どなたでも自由に利用することができます。

 会社法人等番号は、商業登記法に基づき登記簿に記録される12桁の番号です。 

 (参考)

 外国法人は、「法律の規定により設立の登記をした法人」に当たらないため、日本国内に外国会社の登記をしても、自動的に法人番号は指定されません。外国法人に対する法人番号の指定については「外国法人に法人番号は指定されますか。」を参照願います。

外国法人に法人番号は指定されますか。

 外国に本店がある法人(以下「外国法人」といいます。)は、次のいずれかの場合に法人番号が指定されます。

https://www.houjin-bangou.nta.go.jp/shitsumon/shosai.html?selQaId=00089

 1. 税務署に、給与支払事務所等の開設届出書、法人設立届出書、外国普通法人となった旨の届出書、収益事業開始届出書、消費税課税事業者届出書、消費税の新設法人に該当する旨の届出書又は消費税の特定新規設立法人に該当する旨の届出書を提出している場合

 2. 1以外の外国法人で、一定の要件に該当し、国税庁長官に届出書を提出した場合

(参考)

 外国法人は、国内事務所を支店登記しただけでは法人番号は指定されません。

 なお、外国法人に指定される法人番号は、12桁の会社法人等番号の前に1桁の数字を付した番号ではなく、国税庁長官が定めた会社法人等番号と重複することのない12桁の番号を基礎番号とし、その前に1桁の検査用数字を付した番号になります。

法人番号はどのように指定されますか(桁数)。

https://www.houjin-bangou.nta.go.jp/shitsumon/shosai.html?selQaId=00007

 法人番号は、12桁の基礎番号及びその前に付された1桁の検査用数字(チェックデジット)の数字のみで構成される13桁の番号になります。

 例えば、株式会社など、会社法等の規定により設立の登記をした法人(設立登記法人)の法人番号を構成する基礎番号は、法務省から提供を受ける商業登記法に基づく「会社法人等番号(12桁)」となります。

 また、設立登記法人以外の団体は、国税庁長官が会社法人等番号(12桁)と重複することのない12桁の基礎番号を定めます。

 この12桁の基礎番号の前に1桁の検査用数字を付した番号を法人番号として指定することになります。

 なお、一度指定された法人番号を変更することはできません。

(注) 検査用数字(チェックデジット)とは、法人番号をコンピューターに入力するときに誤りのないことを確認することを目的として、基礎番号を基礎として財務省令で定める算式により算出される一から九までの整数をいいます。

具体的な計算方法は「チェックデジットの計算」を参照してください。

行政手続における特定の個人を識別するための番号の利用等に関する法律施行令

https://elaws.e-gov.go.jp/document?lawid=426CO0000000155

第七章 法人番号(法人番号の構成)第三十五条以下

 なぜ会社等法人番号を利用せずに、法人番号を利用するかというと一法人・団体に1つしかなく、国税庁法人番号システム、経済産業省ジービズインフォでも法人番号で検索可能な仕様になっているからです。私の利用用途としては、沖縄県や法務省が依頼者になることはないので、今のやり方より、会社法人等番号を法人番号に変換するような仕組みを作った方が良いのかもしれません。

 なぜ、ジービズインフォではなく、国税庁法人番号システムを利用したのか。経済産業省のジービズインフォでもAPIを提供しています。ジービズインフォは、アプリケーションIDの発行手続が不要で、法人の情報も国税庁法人番号システムより多いようです。

gBizINFO  API利用方法

https://info.gbiz.go.jp/api/index.html

 目的が法人番号の取得のみで、補助金や他の情報が不要だったので国税庁法人番号システムのAPIを利用しました。利用目的によっては、ジービズインフォのAPIを利用した方が良い場合もあると思います。

Excel備忘録

マクロというものを作ってみました。

マイクロソフトサポート

マクロ記録で作業を自動化する

https://support.microsoft.com/ja-jp/office/%E3%83%9E%E3%82%AF%E3%83%AD%E8%A8%98%E9%8C%B2%E3%81%A7%E4%BD%9C%E6%A5%AD%E3%82%92%E8%87%AA%E5%8B%95%E5%8C%96%E3%81%99%E3%82%8B-974ef220-f716-4e01-b015-3ea70e64937b

・IF 関数

https://support.microsoft.com/ja-jp/office/if-%E9%96%A2%E6%95%B0-69aed7c9-4e8a-4755-a9bc-aa8bbff73be2

IF 関数は Excel で頻繁に使用される関数の 1 つであり、ある値と期待値を論理的に比較できます。そのため、IF ステートメントには 2 つの結果があります。 1 つ目の結果は比較が True の場合であり、2 つ目の結果は比較が False の場合です。たとえば、=IF(C2=”Yes”,1,2) の意味は次のようになります。IF(C2 = Yes の場合は 1 を返し、それ以外の場合は 2 を返します)。

IF 関数=IF(C2=ファミリーマート,”Yes”,”No”)

C2番地にファミリーマートが建っている場合はYES,それ以外はNoと表示される。

・INDEX関数

=INDEX(配列, 行番号, [列番号])

選択した土地にある交差点に、何が建っているかを表示する。VLOOKUP関数は左側通行。

MATCH 関数

=MATCH(検査値, 検査範囲, [照合の型])

選択したラーメンが、その範囲で何番目に美味しいか表示する。

INDEX と MATCH の例

この最後の例では、INDEX 関数と MATCH 関数を組み合わせて使用して、5 都市ごとに最も早い請求書番号と対応する日付を返します。 日付は数値として返されるので、TEXT 関数を使用して日付として書式設定します。 INDEX 関数は、実際には MATCH 関数の結果を引数として使用します。 INDEX 関数と MATCH 関数の組み合わせは、最初に請求書番号を返し、次に日付を返す場合に、各数式で 2 回使用されます。

次の表のすべてのセルをコピーし、Excel の空のワークシートのセル A1 に貼り付けます。

https://support.microsoft.com/ja-jp/office/vlookup-index-%E3%81%BE%E3%81%9F%E3%81%AF-match-%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E5%80%A4%E3%82%92%E6%A4%9C%E7%B4%A2%E3%81%99%E3%82%8B-68297403-7c3c-4150-9e3c-4d348188976b

・セルの条件付き書式・装飾のクリア・・・ホーム→条件付き書式→ルールのクリア。

https://support.microsoft.com/search/results?query=%E6%9D%A1%E4%BB%B6%E4%BB%98%E3%81%8D%E6%9B%B8%E5%BC%8F&isEnrichedQuery=false

・シートの数式を表示・・・ファイル→その他→オプション→詳細設定→次のシートで作業するときの表示設定→計算結果の代わりに数式をセルに表示する。

https://support.microsoft.com/ja-jp/office/%E8%A9%B3%E7%B4%B0%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3-33244b32-fe79-4579-91a6-48b3be0377c4

成年被後見人の死亡後の死体の火葬又は埋葬に関する契約の締結その他相続財産の保存に必要な行為についての許可申立書

https://scrapbox.io/nanananananana/%E6%88%90%E5%B9%B4%E8%A2%AB%E5%BE%8C%E8%A6%8B%E4%BA%BA%E3%81%AE%E6%AD%BB%E4%BA%A1%E5%BE%8C%E3%81%AE%E6%AD%BB%E4%BD%93%E3%81%AE%E7%81%AB%E8%91%AC%E5%8F%88%E3%81%AF%E5%9F%8B%E8%91%AC%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E5%A5%91%E7%B4%84%E3%81%AE%E7%B7%A0%E7%B5%90%E3%81%9D%E3%81%AE%E4%BB%96%E7%9B%B8%E7%B6%9A%E8%B2%A1%E7%94%A3%E3%81%AE%E4%BF%9D%E5%AD%98%E3%81%AB%E5%BF%85%E8%A6%81%E3%81%AA%E8%A1%8C%E7%82%BA%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%81%AE%E8%A8%B1%E5%8F%AF%E7%94%B3%E7%AB%8B%E6%9B%B

VLOOKUP関数

=VLOOKUP(B2,C2:E7,3,TRUE)

この例では、B2 は最初の引数 (関数が動作する必要があるデータの要素) です。 VLOOKUP の場合、この最初の引数は検索する値です。 この引数には、セル参照、または “smith” や 21,000 などの固定値を指定できます。 2 番目の引数は、検索する値を検索するセル範囲 C2~:E7 です。 3 番目の引数は、シークする値を含むセル範囲内の列です。

4 番目の引数は省略できます。 TRUE または FALSE を入力します。 「TRUE」を入力するか、この引数を空白のままにすると、最初の引数で指定した値に最も近いものが関数の結果として返されます。 FALSE を入力すると、関数は最初の引数で指定された値と一致します。 つまり、4 番目の引数を空白のままにするか、TRUE を入力すると、柔軟性が向上します。

この例では、この関数のしくみを説明します。 セル B2 (最初の引数) に値を入力すると、VLOOKUP はセル範囲 C2:E7 (第 2 引数) のセルを検索し、範囲内の 3 番目の列である列 E (3 番目の引数) から最も近い近似一致を返します。

=VLOOKUP(ルックアップ値、ルックアップ値を含む範囲、戻り値を含む範囲内の列番号、近似一致 (TRUE)、または完全一致 (FALSE))。

=VLOOKUP(‘沖縄県’!A2,’沖縄県’!:A3:D10,2,FALSE)

沖縄で1番美味しいお店を、東京都青梅市○○番地に表示。お店の範囲は、糸満市字糸満3番から名護市名護字10番まで。

https://note.com/nakamu_cpa/n/n6ab68edae67a

上の記事を加工してみました。

Option Private Module

Sub E_Gav(eType As Long, Article As Long, Plus As Long, Item As Long, f As UserForm)
Dim objXMLHttp As Object, XMLstr  As String, str As String, tx As String, Bodystr As String, V(20), n(20)
'--------------------------------------------------------------------------------
' HTTP通信用定義。
'--------------------------------------------------------------------------------
Dim i As Long, num As Long, tmp As String, ArtStr As String, KakkoFlg As Long
   Set objXMLHttp = CreateObject("MSXML2.XMLHTTP")
   objXMLHttp.Open "GET", E_URL(eType, Article, Plus, ArtStr)
   objXMLHttp.Send
   
'--------------------------------------------------------------------------------
'HTTPリクエストをするIXMLHTTPRequestオブジェクト。
'文字列変換。指定した数だけ繰り返した文字列を取得。階差有り。
'--------------------------------------------
   For i = 1 To 100000
       If objXMLHttp.readyState = 4 Then Exit For
       DoEvents
       If i = 100000 Then MsgBox "終了": Exit Sub
'--------------------------------------------------------------------------------
'100000回実行したら、プログラムは終了(一旦ファイルを閉じる。)
'--------------------------------------------
   Next
   XMLstr = objXMLHttp.responseText
   f.Title = E_StrSearch(XMLstr, "ArticleCaption")

   For i = 1 To 20
      n(i) = E_NoSearch(XMLstr, "Paragraph", i)
      If n(i) = 0 Then n(i) = E_NoSearch(XMLstr, "Paragraph Hide=""false""", i)
      If n(i) = 0 Then n(i) = Len(XMLstr)
'--------------------------------------------------------------------------------
'返す文字列の定義。条、項、号。
'--------------------------------------------
   Next
   For i = 1 To 20
       If n(i + 1) = n(i) Then Exit For
       For j = n(i) To n(i + 1)
           tmp = Mid(XMLstr, j, 1)
           If tmp = ">" Then
               flg = True
           ElseIf tmp = "<" Then
               flg = False
           End If
           If flg And tmp <> ">" And tmp <> " " Then
               V(i) = V(i) & tmp
           End If
'--------------------------------------------------------------------------------
'見回りを止めて文字列を返す場合を定義。tmp・・・一時的に値を格納。
'--------------------------------------------
       Next
       V(i) = Replace(V(i), vbLf, "\")
       V(i) = Replace(V(i), vbCrLf, "\")
       V(i) = Replace(V(i), vbCr, "\")
       V(i) = Replace(V(i), "\" & "\" & "\" & "\", "\")
       V(i) = Replace(V(i), "\" & "\" & "\", "\")
       V(i) = Replace(V(i), "\" & "\", "\")
       If Left(V(i), 1) = "\" Then V(i) = Mid(V(i), 2)
       If Right(V(i), 1) = "\" Then V(i) = Mid(V(i), 1, Len(V(i)) - 1)
       If IsNumeric(Left(V(i), 1)) Then V(i) = Mid(V(i), 2)
       If Left(V(i), 1) = "\" Then V(i) = Mid(V(i), 2)
       V(i) = Replace(V(i), "\", "<Br>")
'--------------------------------------------------------------------------------
'置き換え。セル内・メッセージボックス改行。文字結合。
'--------------------------------------------


   Next
   tx = "<b>" & f.Controls("OptionButton" & eType).Caption & ArtStr & "</b><Br>"
   For i = 1 To 20
       If V(i) <> "" Then
           If i = Item Then tx = tx & "<FONT COLOR=#0000DD>"
           tx = tx & "<b>【第" & i & "項】</b>" & "<Br>" & V(i) & "<Br>"
           If i = Item Then tx = tx & "</FONT>"
       End If
'--------------------------------------------------------------------------------
'表示されるフォームの設定。
'--------------------------------------------
   Next
       KakkoFlg = 0
       For j = 1 To Len(tx)
           tmp = Mid(tx, j, 1)
           If tmp = "(" Or tmp = "(" Then
               Bodystr = Bodystr & "<FONT COLOR=#777777>("
               KakkoFlg = KakkoFlg + 1
           ElseIf tmp = ")" Or tmp = ")" Then
               Bodystr = Bodystr & ")</FONT>"
               KakkoFlg = KakkoFlg - 1
           ElseIf Mid(tx, j, 1) = "。" And KakkoFlg = 0 Then
               Bodystr = Bodystr & "<b>。</b>"
           ElseIf Mid(tx, j, 2) = "場合" Then
               Bodystr = Bodystr & "<FONT COLOR=#009900>場合</FONT>"
               j = j + 1
           ElseIf Mid(tx, j, 2) = "とき" Then
               Bodystr = Bodystr & "<FONT COLOR=#009900>とき</FONT>"
               j = j + 1
               
           ElseIf Mid(tx, j, 2) = "除く" Then
               Bodystr = Bodystr & "<FONT COLOR=#FF3366>除く</FONT>"
               j = j + 1
               
           ElseIf Mid(tx, j, 2) = "及び" Then
               Bodystr = Bodystr & "<FONT COLOR=#FF9900>および</FONT>"
               j = j + 1
           ElseIf Mid(tx, j, 3) = "並びに" Then
               Bodystr = Bodystr & "<FONT COLOR=#FFCC00>並びに</FONT>"
               j = j + 2
               
           ElseIf Mid(tx, j, 2) = "又は" Then
               Bodystr = Bodystr & "<FONT COLOR=#FF9900>又は</FONT>"
               j = j + 1
           ElseIf Mid(tx, j, 4) = "若しくは" Then
               Bodystr = Bodystr & "<FONT COLOR=#FFCC00>若しくは</FONT>"
               j = j + 3
               
           ElseIf Mid(tx, j, 3) = "ただし" Then
               Bodystr = Bodystr & "<FONT COLOR=#FF0000><b>ただし</b></FONT>"
               j = j + 2
           ElseIf InStr("一二三四五六七八九十百千", tmp) > 0 Then
               num = E_number(num, tmp)
           ElseIf num <> 0 Then
               Bodystr = Bodystr & num & tmp
               num = 0
           Else
               Bodystr = Bodystr & tmp
           End If
'--------------------------------------------------------------------------------
'括弧書きフラグ。開始位置、場合、とき等の処理。
'--------------------------------------------
       Next
   With f.WebBrowser1
       .Navigate "about:blank"
       DoEvents
       .Document.Write "<HTML>"
       .Document.Write "<HEAD>"
       .Document.Write "<font size=""3"" face=""Meiryo UI"">"
       .Document.Write Replace(Bodystr, "_未", "<FONT COLOR=red>_未</FONT>")
       .Document.Write "</BODY>"
       .Document.Write "</HTML>"
       .Document.Body.Style.overflow = "hidden"
   End With

End Sub
'--------------------------------------------------------------------------------
'今後、htmlなどを省略する。
'--------------------------------------------
Function E_number(n As Long, tmp As String)
   Select Case tmp
   Case "一"
       E_number = n + 1
   Case "二"
       E_number = n + 2
   Case "三"
       E_number = n + 3
   Case "四"
       E_number = n + 4
   Case "五"
       E_number = n + 5
   Case "六"
       E_number = n + 6
   Case "七"
       E_number = n + 7
   Case "八"
       E_number = n + 8
   Case "九"
       E_number = n + 9
   Case "十"
       buf = n Mod 10
       If buf = 0 Then buf = 1
       E_number = Int(n / 100) * 100 + buf * 10
   Case "百"
       buf = n Mod 10
       If buf = 0 Then buf = 1
       E_number = Int(n / 1000) * 1000 + buf * 100
   Case "千"
       buf = n Mod 10
       If buf = 0 Then buf = 1
       E_number = Int(n / 10000) * 10000 + buf * 1000
   End Select
End Function
'--------------------------------------------------------------------------------
'開始文字で分ける準備。十、百、千は次の文字列を探す。
'--------------------------------------------

Function E_NoSearch(XMLstr As String, str As String, no As Long) As Long
   E_NoSearch = InStr(XMLstr, "<" & str & " Num=""" & no & """>")
End Function
'--------------------------------------------------------------------------------
'<で始まり、>で終わらない文字列は検索から弾く。
'--------------------------------------------

Function E_StrSearch(XMLstr As String, str As String) As String
Dim wLen As Long, wStartPoint As Long, wEndPoint As Long
   wLen = Len(str)
   wStartPoint = InStr(XMLstr, "<" & str & "") + wLen + 2
   wEndPoint = InStr(XMLstr, "</" & str & ">")
   If wEndPoint - wStartPoint < 1 Then Exit Function
   E_StrSearch = Mid(XMLstr, wStartPoint, wEndPoint - wStartPoint)
End Function
'--------------------------------------------------------------------------------
'<,/,>なども文字列として返す。
'--------------------------------------------

Function E_URL(Typ As Long, Article As Long, Plus As Long, ArtStr As String) As String
Dim ArtUrl As String, LawUrl As String, TmpRng As Range
   Select Case Typ
   Case 1
      LawUrl = encodeURL("明治二十九年法律第八十九号")
   Case 2
      LawUrl = encodeURL("平成十六年法律第百二十三号")
   Case 3
      LawUrl = encodeURL("平成十六年政令第三百七十九号")
   Case 4
      LawUrl = encodeURL("平成十七年法務省令第十八号")
   Case 5
      LawUrl = encodeURL("平成十七年法律第八十六号")
   Case 6
      LawUrl = encodeURL("平成十七年法律第八十七号")
   Case 7
      LawUrl = encodeURL("平成十八年法務省令第十二号")
   Case 8
      LawUrl = encodeURL("昭和三十八年法律第百二十五号")
   Case 9
      LawUrl = encodeURL("昭和三十九年法務省令第二十三号")
   Case 10
      LawUrl = encodeURL("平成十九年法律第二十二号")
   Case 11
      LawUrl = encodeURL("昭和二十五年法律第百九十七号")
   Case 12
      LawUrl = encodeURL("昭和二十二年法律第二百二十四号")
   Case 13
      LawUrl = encodeURL("昭和二十二年司法省令第九十四号")
   Case 14
      LawUrl = encodeURL("平成十八年法律第百八号")
   Case 15
      LawUrl = encodeURL("平成十九年法務省令第四十一号")
   Case 16
      LawUrl = encodeURL("昭和三十二年法律第二十六号")
   End Select
   For i = 1 To 9999   'NUMBERSTRINGが関数としてしか動かないので空いてるセルを探して一時使用
       If Cells(1, i) = "" Then Set TmpRng = Cells(1, i): Exit For
   Next
       TmpRng.FormulaR1C1 = "=NUMBERSTRING(" & Article & ",1)"
       Calculate
       ArtStr = "第" & TmpRng.Value & "条"
       If Plus <> 0 Then
           TmpRng.FormulaR1C1 = "=NUMBERSTRING(" & Plus & ",1)"
           Calculate
           ArtStr = ArtStr & "の" & TmpRng.Value
       End If
       TmpRng.Value = ""
   ArtUrl = encodeURL(ArtStr)
   E_URL = "https://elaws.e-gov.go.jp/api/1/articles;lawNum=" & LawUrl & ";article=" & ArtUrl
End Function
'--------------------------------------------------------------------------------
'別のファイルからExcelファイルに格納する。法令検索APIから「1」の法令を取得。
'--------------------------------------------

Function encodeURL(ByRef str As String) As String
   For i = 1 To 9999
       If Cells(i, 1) = "" Then Set TmpRng = Cells(i, 1): Exit For
   Next
       TmpRng.FormulaR1C1 = "=ENCODEURL(""" & str & """)"
       Calculate
   encodeURL = TmpRng.Value
   TmpRng.Value = ""
End Function
'--------------------------------------------------------------------------------
'UTF-8をサポートする。
'--------------------------------------------

法令番号ではなく、法令IDを使いたい、など色々改善点はありますが、まずExcelで作ってみる。使えそうなら別のコードを書いてみる、という方法は良いんじゃないかなと思いました。Excelの魅力は使い慣れている、環境構築がほとんど不要、というところではないでしょうか。

https://scrapbox.io/nanananananana/%E6%9D%A1%E6%96%87%E6%A4%9C%E7%B4%A2_%E6%B3%95%E4%BB%A4%E6%A4%9C%E7%B4%A2API

相続放棄申述書と相続放棄申述受理証明書の申請書 沖縄県版―Excel

 相続放棄申述書と相続放棄申述受理証明書の申請書について、Excelで沖縄版を作成してみました。テスト版なので、利用は出来ますがまだ改善の余地があります。また、私が0から作ったわけではなく、野﨑祐介司法書士が作成したExcelシートを沖縄版に修正し、セルの装飾を少し変更しただけのものです。

司法書士法人つむぎ事務所

https://www.tsumugi-jimusho.net/

相続の放棄の申述について、裁判所のwebサイトのリンクを貼り付けておきます。

https://www.courts.go.jp/saiban/syurui/syurui_kazi/kazi_06_13/index.html

PDF版です。

マイクロソフトWord版です。

https://www.courts.go.jp/tokyo-f/saiban/tetuzuki/syosiki01/index.html

PDF版は、印刷して手書き、word版はパソコン等から入力することになります。他に、司法書士業務のシステム開発や運用保守を行う企業のソフトウエアがあるようです。私は利用していないため、仕様が分かりません。

サムポローニア9 遺産承継システム

https://www.dnp.co.jp/biz/solution/products/detail/10161047_1567.html

Excel版は、下のようになります。

添付書類のセルの塗りつぶしが消えないのですが、何か仕組みがあるのだと思います。送達場所届出に関しては、私は現在のところ、使わないので、空欄にしています。印鑑も預かりません。原本還付は利用できるので、便利だと思いました。

相続放棄申述受理証明書の申請書です。申述書シートに入力した情報が反映される仕組みになっていました。

相続放棄申述書申述受理証明書についても、送達場所の届出はしないので空欄にしました。

マイクロソフトExcel

VLOOKUP 関数

https://support.microsoft.com/ja-jp/office/vlookup-%E9%96%A2%E6%95%B0-0bbc8083-26fe-4963-8ab8-93a18ad188a1

相続放棄における三か月の期間に関する主な判例

・大審院決定大正15年8月3日

・最高裁判所判決昭和51年7月1日

・最高裁判所判決昭和59年4月27日

・最高裁判所判決昭和63年6月22日

・最高裁判所判決令和元年8月9日