法令の略をWord VBAで自動で置き換える・ハイライトする方法

kaidan

法律文を書くとき、字数の関係から
法令を略すことが多いですね。

「民法709条」を「民709条」、
「金融商品取引法157条」を「金商157条」
などです。

論文を例に取ると、長いようで字数は
すぐに埋まってしまうので、略は便利ですね。

最終的に作ってみたものはこちらです。

書き終えてから一つ一つ処理してもいいのですが、
長文になると一つ一つ処理するのが大変です。
編集さんが担当してくれているかもしれませんが。

やり方を見てみましょう。

もくじ

法令略の一例

法令の略例の一覧を確認します。

仕方は流派や好みがあるはずなので、
最終的には指導教授にご相談ください。

民商系

  1. 会社法      会社
  2. 会社法施行規則  会社規
  3. 会社計算規則   会社計算
  4. 民法       民
  5. 商法       商
  6. 平成29年改正民法 改民
  7. 平成30年改正商法 改商
  8. 金融商品取引法  金商
  9. 投資信託及び投資法人に関する法律 投信法

労働系

  1. 育児休業、介護休業等育児または家族介護を行う労働者の福祉に関する法律(育児・介護休業法)
    育介法
  2. 職業訓練の実施等による特定求職者の就職の支援に関する法律(求職者支援法)
    求職法
  3. 会社分割に伴う労働契約の承継等に関する法律(労働契約承継法)
    承継法
  4. 労働者派遣事業の適正な運営の確保及び派遣労働者の保護等に関する法律(労働者派遣法)
    派遣法
  5. 労働安全衛生法 労安法
  6. 労働基準法   労基法
  7. 労働契約法   労契法
  8. 労働組合法   労組法
  9. 労働関係調整法 労調法

租税系

  1. 国税通則法   税通
  2. 国税徴収法   税徴
  3. 所得税法    所法
  4. 法人税法    法法
  5. 相続税法    相法
  6. 租税特別措置法 租特
  7. 法人税法施行令 法令
  8. 法人税基本通達 法基通
    (よくある間違いですが、通達は「法人税法…」ではなく「法人税…」ですね)

裁判系

  1. 大審院判決      大判
  2. 最高裁判所大法廷判決 最大判
  3. 最高裁判所判決(決定) 最判(決)
  4. 高等裁判所[支部]判決(決定) 高判(決)
  5. 地方裁判所[支部]判決(決定) 地判(決)
  6. 大審院民事判決録   民録
  7. 大審院民事判例集・最高裁判所民事判例集 民集
  8. 判例時報       判時
  9. 判例タイムズ     判タ

法令を置き換える方法

このように文章があった際に、
法令名をマークする方法を見てみます。

置き換えをするVBAについて、
このように作ってみました。

Sub Okikae()
    Dim sMoto As String
    Dim sOkikae As String
    
    ActiveDocument.Range(0, 0).Select
    
        sMoto = InputBox("探すキーワードを入力してください。")
        sOkikae = InputBox("置き換え後のキーワードを入力してください。")
        
    With Selection.Find
        .Text = sMoto
        .Replacement.Text = sOkikae
        .Replacement.Font.Color = wdYellow
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
       
End Sub

Dim sMoto As Stringで
「sMoto」という文字列の変数を
定義しています。

sOkikaeも同様の変数です。

With Slection.Find以降はこちらの
「検索と置換」の画面を実行したものです。

 

 

 

 

 

 

 

 

 

 

ハイライトをするVBA

ハイライトをするVBAはこちらが
例になります。

「検索と置換」のような一括の
変更がないため、一つ一つ検索をして
色を変更する方法となります。

Do While

Loop

で繰り返しをしています。

Sub Color()
    Dim sMoto As String
    Dim sOkikae As String
    
    ActiveDocument.Range(0, 0).Select
    
        sOkikae = InputBox("色を変更する文字列を入力してください。")
        
    With Selection.Find
        .Text = sMoto
        .Replacement.Text = sOkikae
        .Format = True
        Do While .Execute
             Selection.Range.HighlightColorIndex = wdYellow
        Loop
    End With
End Sub

 

両方を足したもの

両方を加えたものがこちらです。

Application.ScreenUpdating = False

Application.ScreenUpdating = True

Sub OkikaeColor()
    Dim sMoto As String
    Dim sOkikae As String
    
    Application.ScreenUpdating = False

    ActiveDocument.Range(0, 0).Select
    
        sMoto = InputBox("探すキーワードを入力してください。")
        sOkikae = InputBox("置き換え後のキーワードを入力してください。")
        
    With Selection.Find
        .Text = sMoto
        .Replacement.Text = sOkikae
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    
    
    
    ActiveDocument.Range(0, 0).Select
        
    With Selection.Find
        .Text = sOkikae
       ' .Format = True
        Do While .Execute
             Selection.Range.HighlightColorIndex = wdYellow
        Loop
    End With
    
    Application.ScreenUpdating = True
End Sub

 

置換しすぎに注意

すぐに置換をしてもいいのですが、
文章中で省略したくない文字列を
変換してしまうリスクにご注意ください。

ハイライトだけをして目視したり、
一括変換をしてハイライトを
もう一度確認するなどダブルチェックを
入れておくといいかなと。

 

【編集後記】
地方協賛のお取り寄せでホタテを買いまくりました。
これだけたくさん一度に初めてです。

新鮮なものは切ってそのままいただきました。

【運動記録】
ジョギング○ ストレッチ○ 筋トレ○ サプリ○

【子育て日記(3歳)】
暑いですね。
着替えたのにすぐに汗をかいてしまいます。
あせもができないように適度に替えなければ。。

もくじ