磯崎 哲也『起業のファイナンス ベンチャーにとって一番大切なこと 増補改訂版』 第6章 資本政策の作り方

資本政策の位置付けとサイクル

→現金の回り方の計算書・予定書→株主価値→資本政策→事業計画→

資本政策表に必要な情報

・発行済株式の総数(会社法37条)

・株主名(会社法50条、102条、121条、124条、209条、282条、会社計算規則2条3項20号など)

・株式の種類(会社法2条、106条、107条、245条など)

・資金調達の額(会社法445条など)

・出資比率・持株比率(会社法121条、商業登記所における実質的支配者情報一覧の保管等に関する規則など)

資本政策の策定手順(設立後3年の企業が、3年後に上場を目指す場合)

・上場時の時価総額の検討
・時価総額と前提条件の1売買単位金額から上場時発行済株式数を検討
・上場時の、公募株式数の検討
・上場時の、売出株式数の検討
・公簿増資前における、発行済株式数の検討
・上場時売出株式数の検討
・公簿増資前の、発行済株式数の検討
・株式分割幅の検討
・従業員持株会への割当方式数と、ストックオプション付与株数の検討
・上場前の資金調達の検討
・安定株主比率の検証
・上場基準を充たしているかの確認

株主構成、持ち株比率のチェックポイント

□必要となる資金がちゃんと調達できるか?(企業価値や株価は適正か?)

□上場後も安定した株主構成となるか?

□創業者や投資家の苦労に報いるだけのキャピタルゲインは出るか?

□上場基準は満たしているか。

□創業者以外の者・法人で50%を超える割合の株式を持つことになる場合、単独で株主総会普通決議を行うことが出来なくなる(会社法309条1項)ので、考えることが必要。

□上の50%と同じく、3分の1を超える割合の株式を持つこととなる場合、単独で株主総会の特別決議を行うことが出来なくなる(会社法309条2項)ので、考えることが必要。例:(募集事項の決定)会社法199条2項など。

□投資契約における拒否権

会計の持株比率への影響

・外部投資家の持ち株比率が20%、40%、50%を超える場合の影響・・・持分法適用会社となり、出資を受けた持分を投資した企業の決算に反映させる可能性、連結決算が必要な企業に該当する可能性が出てくる。

参考
日本公認会計士協会
連結財務諸表における子会社及び関連会社の範囲の決定に関する監査上の取扱い
https://jicpa.or.jp/specialized_field/post_701.html

財務諸表等の用語、様式及び作成方法に関する規則8条
https://elaws.e-gov.go.jp/document?lawid=338M50000040059_20210924_503M60000002061

連結財務諸表原則第4.8
https://www.fsa.go.jp/p_mof/singikai/kaikei/tosin/1a902f5.html

会社計算規則2条3項26号

ストックオプション(新株予約権、会社法236条~)

・発行量(会社法238条1項1号)、発行済株式の総数並びに種類及び数に対する比率。

・誰に渡すのか、何人に渡すのか(会社法241条から246条。)。

・多数の人に分散している場合に、数名に集めることは出来るか(会社法254条から266条。)。

・ストックオプションを行使する資金を、調達することは出来るか(会社法246条。)
・大きな問題とならないとされる量は、発行済株式の総数並びに種類及び数の10%から20%。

参考・税制適格ストックオプション
https://www.nta.go.jp/taxes/shiraberu/taxanswer/shotoku/1540.htm

・企業価値を、設立時資本金の額から何倍になった、という視点だけで考えない。目的のために、いつ、いくら必要なのか、そのために今どの位の価値で評価されることが妥当なのか調整。

・共同創業者や家族が株主の場合の、けんかの危険。

分からなかったところなど

□持ち株比率が上場後も安定した株主構成となるか、の安定とは?創業者、または設立時の株主がが過半数を持っている状態?その他にもありますか?
・・・みらいワークス、カラダノート
あるっちゃある。
創業者の範囲を広げる。資産管理会社、上場時に薦められる。Iの部。取引先(株式の持ち合い)。財団法人(奨学金関係など)で、資産を減らしたうえで、配当を原資にする。
研究開発型スタートアップだと、持ち株比率は減る(ユーグレナなど。)。

分からなかったところなど

□上場時の新株予約権の割合は、10%位が目安の根拠(山岡 佑『実践スタートアップ・ファイナンス 資本政策の感想戦』P272など)

・・・日本の慣習、米国20%あり。VCに抵抗感があるので、説明が求められる。説明出来れば良い。過渡期。メルカリなど。
https://signal.diamond.jp/articles/-/1583

欧米型のストックオプションは、優先株調達のステージごとに、調達直前の株式数にストックオプション用の株式数が新たに追加された上で、1株あたりの価格が決められる。そしてそれがステージごとに繰り返される。つまり、調達時のプレマネー時価総額に、ストックオプションの発行が織り込まれている(潜在株式によって時価総額は変わらない)ということだ。投資家にとってみると、潜在株式が多いほど投資時の株価が下がるので、そのステージのストックオプションは多いほどよい。起業家は、ステージごとにストックオプションの量が設定されるので、採用計画に合わせてオプションの付与計画も建てやすい、という具合だ。その結果、欧米では総発行株式数の20〜25%のストックオプションが発行されるのが通常だ。

参考
・2019/08/14株式会社Coral Capital Yohei Sawayama
「国内スタートアップの資金調達相場レポート「Japan Startup Deal Terms」2019年夏版をリリースします」https://coralcap.co/2019/08/deal-terms-2019summer/
・(一社)日本経営調査士協会 監修 「IPO・内部統制の基礎と実務(第3版)」2017年、同文館出版
・経済産業省「スタートアップの成長に向けた ファイナンス に関するガダファイナンス」2022年4月
・金融庁「コーポレートガバナンス・コード【基本原則1-3.資本政策の基本的な方針】」
・明治大学専門職大学院グローバル・ビジネス研究科木村哲「ベンチャー企業の株式価値評価のための期待リターンと資本政策の研究」
・FoundX Review「共同創業者間での株式の分け方 (Michael Seibel)」
・山岡 佑『実践スタートアップ・ファイナンス 資本政策の感想戦』2021年、日経BP
・2021年6月15日日本証券業協会「非上場株式の発行・流通市活性化に関する検討懇談会」報告書

2023(令和5)年4月1日施行民法改正(相続放棄、940条)

施行日 2023(令和5)年4月1日

対象となる人

相続放棄の申述申立てを、家庭裁判所に対して行ったときに、相続放棄した財産を現に占有している人。

現に占有って?

被相続人名義の建物に住んでいる(下の土地も占有)、通帳を持っている、家具や遺品を持っているなど。Nintendo Switchなど。

観念的承継は含まないって?[1]

→被相続人名義が、自己名義の畑を耕していた場合、そのことは知っていたけれど、行ったことはないとき、など。


[1] 村松 秀樹 (著, 編集), 大谷 太 (著, 編集)『Q&A令和3年改正民法・改正不登法・相続土地国庫帰属法』、2022、P235

改正の効果

・次の順位の相続人が存在しない場合にも適用される。

・相続放棄の時点で、相続財産に属する財産を現に占有している人だけが、保存義務を負う。→相続放棄をした他の相続人は、義務を負わない。

・相続財産の保存義務を負う相手方

他の相続人、相続財産の清算人。

→近隣の人や、自治体からこの条文を根拠に責任を問われることはない。

保存義務が終わるとき

→相続人、法定相続人全員が放棄した場合は相続財産の管理人・相続財産の清算人などに対して当該財産を引き渡したとき。供託(民法494条、497条)が利用される可能性はあるか。現金?

改正の影響

・相続財産の清算人の選任請求(民法952条)の促進の可能性。

令和3年12月14日(火)定例閣議案件

民法等の一部を改正する法律の施行期日を定める政令(決定)

https://www.kantei.go.jp/jp/kakugi/2021/kakugi-2021121401.html

法務省  「民法等一部改正法・相続土地国庫帰属法の概要」【令和4年11月28日掲載】

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

民法

https://elaws.e-gov.go.jp/document?lawid=129AC0000000089

改正前

(相続の放棄をした者による管理)

第九百四十条 相続の放棄をした者は、その放棄によって相続人となった者が相続財産の管理を始めることができるまで、自己の財産におけるのと同一の注意をもって、その財産の管理を継続しなければならない。

2 第六百四十五条、第六百四十六条、第六百五十条第一項及び第二項並びに第九百十八条第二項及び第三項の規定は、前項の場合について準用する。

改正後

(相続の放棄をした者による管理)

第九百四十条 相続の放棄をした者は、その放棄の時に相続財産に属する財産を現に占有しているときは、相続人又は第九百五十二条第一項の相続財産の清算人に対して当該財産を引き渡すまでの間、自己の財産におけるのと同一の注意をもって、その財産を保存しなければならない。

2 第六百四十五条、第六百四十六条並びに第六百五十条第一項及び第二項の規定は、前項の場合について準用する。

渋谷陽一郎「裁判例・懲戒事例に学ぶ民事信託支援業務の執務指針」第1章

渋谷陽一郎「裁判例・懲戒事例に学ぶ民事信託支援業務の執務指針」、2023年1月、民事法研究会第1章

http://www.minjiho.com/shopdetail/000000001380/

・刊行に寄せて

東北大学大学院法学研究科 吉永一行教授

市民と法掲載の「執務指針案」を4つに分類。

  • 民事信託支援業務の提供自体に関わる義務

委任契約と請負契約との区分。区分に伴って異なる結果となる、事務と完成物の品質水準・注意水準。

  • 民事信託支援業務の準備・環境整備としての付随的義務。

職員による事務処理など。

  • 説明義務

義務違反により、独自に損害賠償義務(令和3年9月17日東京地方裁判所判決平成31年(ワ)第11035号損害賠償請求事件など。)の根拠となる。

  • 民事信託支援業務にあたる法律専門職が追う社会的使命として位置づけられるべき行為規範

司法書士法、施行規則、行為規範、会則との関係。

・刊行に寄せてー司法書士制度と民事信託支援業務ー

日本司法書士会連合会名誉会長 斎木賢二司法書士

司法書士は―中略―民事信託を開発し―中略―信託組成-。民事信託とは、専門家ではない、一般の市民が、その担い手(受託者)となって行う「本人信託」である。

→民事信託を開発したのが司法書士なのか、本書にも記載がありますが、信託組成とは何なのか、本人信託とは本人訴訟との類似性を強調するために使っているのか、分かりませんでした。

はしがき

自由かつ緻密な論争の存在こそが民事信託支援業務の規律化とさらなる展開のための希望である。

→私も同感です。著者はどうなのでしょうか。

(4)規則31条業務としての信託監督人

 原則として成年後見人は誰でもなれる(市民後見人。家庭裁判所の選任を要するが。)

→本人の親族でない人が、家庭裁判所の成年後見人選任要件を満たすには、実質的には行政の許認可ほどの要件があり、誰でもなれる、とはいえないのではないかと思います。

司法書士が信託監督人として規則31条業務を行う方向性は、平成18年の信託法改正直後から主張されてきた。

→文献、資料などがあれば教えていただきたいと思います。平成18年前後に、私は聴いたり読んだりしたことがありません。

民事信託分野の弊害である「われこそ専門家」症候群や、民事信託を踏み台にしてなり上がってやろうという過剰な自意識を抑えて情報の共有を行いー中略ー

→司法書士各々が事業者である以上、仕方がない面もあると思います。法令に違反しないように気を付けるのは当然として、です。それは著者も御存じです。ただ、批評すると組織から排除するのは、止めて欲しいと考えます。

3 民事信託支援業務の執務指針

そこで、民事信託支援業務の執務指針を策定する場合、単に既存の登記代理、本人訴訟支援、簡裁訴訟支援、債務整理などの他業務類型を想定した会則や指針を流用し、それらに上書きして、形だけの抽象的な指針としてしまうことは避けたい。

→意欲的な都道府県会が策定するのではないでしょうか。沖縄県会に関しては、昨年、本人確認に関する指針について、変更を要望しましたが却下だったので無理だと思います。結果として、先に策定した都道府県会の指針が公表されて、他の都道府県、日本司法書士会連合会に広がっていく流れではないかと予想します。

 ただし、指針を策定することで司法書士の業務がやりやすくなるのか、依頼者・司法書士共に護られることになるのかは、分かりません。策定が目的になるならば、各司法書士が司法書士法の解釈から自身で最低限の指針を作成して、委任契約書に記載した方が良いのかもしれません。

講演会「規制改革実施計画から見る司法書士業務の今後~デジタル化社会への対応とその課題~」メモ

「規制改革の取組について」

令和4年1月15日内閣府規制改革推進室  川村尚永参事官 

規制改革推進会議

https://www8.cao.go.jp/kisei-kaikaku/kisei/meeting/meeting.html

内閣府本府組織令

https://elaws.e-gov.go.jp/document?lawid=412CO0000000245

(設置)

第三十一条 法律の規定により置かれる審議会等のほか、本府に、次の審議会等を置く。

規制改革推進会議

税制調査会

規制改革実施計画・・・毎年6月頃閣議決定。今後の経済財政運営及び経済社会の構造改革に関する基本方針(骨太の方針)と一緒に。

https://www.kantei.go.jp/jp/singi/keizai/tousin/010626gaiyou.html

デジタル臨時行政調査会

https://www.digital.go.jp/meeting

「規制改革推進会議デジタルワーキンググループにおける議論」

日本大学法学部 杉本純子教授

規制改革推進会議デジタルワーキング・グループ

https://www8.cao.go.jp/kisei-kaikaku/kisei/meeting/meeting.html

戸籍手続オンラインシステム構築のための標準仕様書(第4版)平成24年3月

法務省

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

戸籍情報システム標準仕様書 法務省民事局民事第一課

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

戸籍法施行規則

https://www.hitachi.co.jp/Div/jkk/press/040630.html

第四章の二 電子情報処理組織による届出又は申請等の特例

第七十九条の二 戸籍若しくは除かれた戸籍の謄本若しくは抄本又は別表第三に掲げる書面の交付の請求は、市町村長の使用に係る電子計算機と請求をする者の使用に係る電子計算機とを電気通信回線で接続した電子情報処理組織を使用してすることができる。

② 戸籍法第百十八条第一項の市町村長に対してする別表第四に掲げる届出又は申請(以下「届出等」という。)は、前項の電子情報処理組織を使用してすることができる。

第七十九条の三 前条第一項の交付の請求又は同条第二項の届出等をする者は、戸籍法又はこの省令の規定により交付の請求書又は届書若しくは申請書に記載すべきこととされている事項に係る情報を市町村長の使用に係る電子計算機に送信しなければならない。この場合において、戸籍法又はこの省令の規定により交付の請求又は届出等の際に添付し、又は提出すべきこととされている書面等(以下「添付書面等」という。)があるときは、当該添付書面等に代わるべき情報を併せて送信しなければならない。

② 前項に規定する者は、同項の規定により送信する情報に電子署名(電子署名及び認証業務に関する法律(平成十二年法律第百二号)第二条第一項に規定する電子署名をいう。以下同じ。)を行わなければならない。証人を必要とする事件の届出については、当該証人も、前項前段の情報に電子署名を行わなければならない。

③ 第一項後段に規定する添付書面等に代わるべき情報は、作成者(認証を要するものについては、作成者及び認証者)による電子署名が行われたものでなければならない。

④ 前三項の規定により電子署名が行われた情報を送信するときは、当該電子署名に係る電子証明書(当該電子署名を行った者を確認するために用いられる事項が当該者に係るものであることを証明するために作成された電磁的記録をいう。以下同じ。)であって次の各号のいずれかに該当するものを併せて送信しなければならない。

一 電子署名等に係る地方公共団体情報システム機構の認証業務に関する法律(平成十四年法律第百五十三号)第三条第一項の規定に基づき作成されたもの

二 商業登記法(昭和三十八年法律第百二十五号)第十二条の二第一項及び第三項(これらの規定を他の法律の規定において準用する場合を含む。)の規定に基づき作成されたもの

三 その他市町村長の使用に係る電子計算機から当該電子署名を行った者を確認することができるものであって、前二号に掲げるものに準ずるものとして市町村長が定めるもの

第七十九条の四 戸籍法第四十八条第二項の規定による前条第一項の情報の閲覧は、日本産業規格A列三番の用紙に出力したものを閲覧する方法により行う。

第七十九条の五 別表第五に掲げる書面の交付は、市町村長の使用に係る電子計算機と交付を受ける者の使用に係る電子計算機とを電気通信回線で接続した電子情報処理組織を使用してすることができる。

2 情報通信技術を活用した行政の推進等に関する法律(平成十四年法律第百五十一号。以下「情報通信技術活用法」という。)第七条第一項ただし書に規定する主務省令で定める方式は、電子情報処理組織を使用する方法により前項の書面の交付を受けることを希望する旨の市町村長の定めによるところにより行う届出とする。

第七十九条の六 市町村長は、前条の規定による書面の交付をするときは、第六十六条第一項又は第七十三条第一項各号の証明書に記載すべきこととされている事項に係る情報(第七十三条第一項各号の証明書については、付録第二十九号書式に係る情報を含む。)を、これについて電子署名を行い、当該電子署名に係る電子証明書を併せて市町村の使用に係る電子計算機に備えられたファイルに記録しなければならない。

第七十九条の七 情報通信技術活用法第六条第四項又は第七条第四項の氏名又は名称を明らかにする措置であって主務省令で定めるものは、当該署名等をすべき者による電子署名とする。

第七十九条の八 第七十九条の二第二項の届出等は、届出事件の本人の本籍地でしなければならない。ただし、戸籍法第六十一条及び第六十五条に規定する届出は母の本籍地で、同法第百二条の二、第百十条及び第百十一条に規定する届出は新本籍地で、外国人に関する届出は届出人の所在地でしなければならない。

第七十九条の九 第七十九条の二第二項の規定による届出等がされた場合には、第二十五条又は第二十六条の規定による他の市町村長への届書又は申請書の送付は、当該届書又は申請書に係る情報を電子情報処理組織を使用して送信する方法により行う。ただし、当該情報を出力することにより作成した書面を送付することを妨げない。

② 前項ただし書の書面を送付するときは、その記載に接続して付録第三十号書式による付記をし、職氏名を記して職印を押さなければならない。

第七十九条の十 戸籍法第百二十六条の法務省令で定める基準は、次のとおりとする。

一 大学その他の統計の作成又は学術研究を目的とする団体若しくはそれらに属する者の申出に係るものであること。

二 統計の作成又は学術研究が医学の発達その他の公益性が高いと認められる事項を目的とするものであつて、当該統計又は学術研究の内容が公表されること。

三 戸籍、除かれた戸籍又は届書その他市町村長の受理した書類(以下「戸籍等」という。)に記載した事項に係る情報を利用することが統計の作成又は学術研究のために必要不可欠であり、かつ、当該情報の範囲がその目的を達成するために必要な限度を超えないこと。

四 戸籍等に記載した事項に係る情報を提供することにより、戸籍等に記載されている者又はその配偶者、直系尊属若しくは直系卑属その他の親族の権利利益が害されるおそれがないと認められること。

第七十九条の十一 戸籍法第百二十六条の規定により戸籍等に記載した事項に係る情報の提供の申出をしようとする者は、当該情報を市町村が保有している場合には、あらかじめ、当該市町村を管轄する法務局又は地方法務局の長(当該法務局又は地方法務局の長が二以上あるときは、その一の長)の承認を得なければならない。

第七十九条の十二 戸籍法第百二十六条の規定による戸籍等に記載した事項に係る情報の提供は、戸籍若しくは除かれた戸籍の謄本若しくは抄本又は戸籍等に記載した事項についての証明書を交付することによつて行うものとする。この場合において、戸籍等に記載した事項についての証明書は、付録第三十一号書式によつて作らなければならない。

② 戸籍法第百十九条の規定により戸籍又は除かれた戸籍が磁気ディスクをもつて調製されているときは、これらの謄本、抄本又は証明書に代えて、磁気ディスクをもつて調製された戸籍又は除かれた戸籍に記録されている事項の全部若しくは一部を証明した書面を交付することによつて行うものとする。

③ 第七十三条(同条第一項第三号及び第六号、第二項並びに第三項を除く。)の規定は、前項の書面について準用する。この場合において、前項の書面には、次の各号の区分に応じ、それぞれ当該各号に掲げる事項を記載する。

一 戸籍の一部を証明した書面 戸籍に記録されている事項の一部

二 除かれた戸籍の一部を証明した書面 除かれた戸籍に記録されている事項の一部

④ 前項の場合において、第二項の書面は、付録第二十二号様式(第三及び第六を除く。)又は付録第三十二号様式によつて作らなければならない。

⑤ 第三項の場合において、第二項の書面には、市町村長が、その記載に接続して付録第二十三号書式(第三及び第六を除く。)又は付録第三十三号書式による付記をし、職氏名を記して職印を押さなければならない。

戸籍情報連携システム(仮称)のシステム構成(イメージ)

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

司法書士業務への影響~デジタル化社会への対応とその課題

隂山克典司法書士

GビズID クイックマニュアル gBizIDプライム編 ver1.6 2021年9月

オンラインで即日作成可能なアカウント

印鑑証明書(個人事業主は印鑑登録証明書)と登録印鑑で押印した申請書を運用センターに郵送し、審査(原則2週間以内)ののち作成される、法人代表者もしくは個人事業主のアカウント

https://gbiz-id.go.jp/top/manual/pdf/QuickManual_Prime.pdf

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さんです。お楽しみに。

PAGE TOP