Excel VBA for renaming all files in a target folder at onece/フォルダ内のファイルを一括リネームするExcel VBA

予告通り、今回は指定フォルダ内のファイルをリネームするExcel VBAを公開します。このVBAは、以前の記事で紹介したExcel VBAと組み合わせて使うことを想定しています。

How to Use/使い方

Write a new name in advance/予め新しいファイル名を書き込んでおく

Before you activate this macro, write a new name of the file whose name you want to change into a cell that located right of the current-name cell by a single cell.
本マクロ起動前に、変更したいファイル名の一つ右の列に、変更後のファイル名を記入しておきます。

Inputting the cell name in which a folder address is written/フォルダアドレスが書き込まれているセル名を入力

Rename of file is done/ファイルのリネーム完了

You see Hyperlink for an older name is deleted and Hyperlink for a new name is added.
旧ファイル名へのハイパーリンクは削除され、新しいファイル名へのリンクが形成されています。

You see file name renamed.
ファイルがリネームされていることが確認できます。

コード

お願い

おそらくコードを埋め込むプラグインSyntaxHighlighterの仕様もしくは設定によって、コード貼り付けた際に “&” が”&“と表示されてしまうようです。
HTMLだとそうなっちゃうの??このあたりよくわかってません。
現状、解決策がわかっていないので、大変お手数ですが、コードをコピペするときは、事前に”&“を”&“に置換してください。

PluginをEnlighter – Customizable Syntax Highlighterに変更しました。
コピペだけで使っていただけると思います。

Sub RenameFile()

    Dim FolderPath As String        'address of a target folder
    Dim FolderPathCell As Range     'cell in which folder path is stored
    Dim file As Object
    Dim i As Integer
    Dim TargetCell As Range
    Dim NewNameCell
    Dim Row As Integer
    Dim Column As Integer
    Dim FSO As Object
    
    'refer to a cell designated by a user
    Set FolderPathCell = Range(InputBox("Input a cell showing Folder path"))
    FolderPath = FolderPathCell.Text
    
    Set FSO = CreateObject("Scripting.FileSystemObject")
      
    Set TargetCell = Cells(FolderPathCell.Row + 1, FolderPathCell.Column)
    Row = TargetCell.Row
    Column = TargetCell.Column
    
    For i = 0 To 100
    
        Set TargetCell = Cells(Row + i, Column)
        Set NewNameCell = Cells(Row + i, Column + 1)
       
        If TargetCell = "" Then
            Exit For
        End If
        
        If NewNameCell <> "" Then        
          Set file = FSO.getfile(FolderPath & "\" & TargetCell.Text)
            file.Name = NewNameCell.Text 'rename
            TargetCell.Hyperlinks.Delete 'delete old hyperlink
            NewNameCell.Hyperlinks.Add anchor:=NewNameCell, Address:=FolderPath & "\" & NewNameCell.Text
        End If        
    Next    
End Sub

Excel VBA for obtaining a list of file names in a folder/フォルダ内のファイル名一覧取得 Excel VBA

私が現在所属している特許事務所は、ドイツにあります。
従ってほとんどの従業員はドイツ人です。
そのため、実務ではドイツ語は使いませんが、所内DBのファイルはドイツ語で名前が付けてあることが多いです。
毎回ファイル名を理解するだけでドイツ人の同僚に比べて余計に時間がかかっていました。機械翻訳にかけやすいようにテキストでファイル名が欲しいなと思っておりました。このような経緯で、本マクロをつくりました。

How to Use/使い方

Inputting a folder address/フォルダのアドレスを入力

You input an address of the folder whose file-list you need.
ファイル名一覧を取得したい対象フォルダのアドレスをインプットボックスから入力します。

Inputting the beginning cell/開始位置のセルを入力

Designating the cell (e.g., A4) that is to be the beginning cell (case insensitive).
書き込みの開始位置になるセルのセル名(例:A4)をインプットボックスから入力する。大文字小文字の区別はありません。

A file list becoming written in the active sheet/ファイル一覧がシートに書き込まれます

Written in the beginning cell is the address of the folder. Written in each cell below the beginning cell is a name of a file in the folder. Hyperlink is embedded in each cell.
開始位置のセルにはフォルダのアドレスが書き込まれます。開始位置のセルより下方のセルにはフォルダ内のファイルのファイル名が書き込まれます。各セルにはハイパーリンクも埋め込まれます。

コード

お願い

おそらくコードを埋め込むプラグインSyntaxHighlighterの仕様もしくは設定によって、コード貼り付けた際に “&” が”&amp;“と表示されてしまうようです。
HTMLだとそうなっちゃうの??このあたりよくわかってません。
現状、解決策がわかっていないので、大変お手数ですが、コードをコピペするときは、事前に”&amp;“を”&“に置換してください。

Sub GetFileName()
    Dim f As Object, cnt As Long
    Dim FolderPath As String
    Dim HyperlinkAddress As String
    Dim StartCell As String
    Dim Row As Integer
    Dim Column As Integer
 
    
    FolderPath = InputBox("Folder Path?") 'receiving input of a target folder
    StartCell = InputBox("Start cell?")   'receiving the uppermost cell
    Range(StartCell).Activate
    ActiveCell.Hyperlinks.Add anchor:=ActiveCell, Address:=FolderPath, TextToDisplay:= FolderPath
    
    Row = ActiveCell.Row
    Column = ActiveCell.Column
    cnt = 1
    With CreateObject("Scripting.FileSystemObject")
        For Each f In .GetFolder(FolderPath).Files
            HyperlinkAddress = FolderPath & "\" & f.Name
            Cells(Row + cnt, Column).Activate
            ActiveCell.Hyperlinks.Add anchor:=ActiveCell, Address:=HyperlinkAddress
            Cells(Row + cnt, Column) = f.Name
            cnt = cnt + 1
        Next f
    End With
End Sub

Word VBA for inserting reference sings /符号挿入 Word VBA

欧州特許実務ではクレーム中の構成要素に、図面中の符号を付すことが求められています。

If the application contains drawings, and the comprehension of the claims is improved by establishing the connection between the features mentioned in the claims and the corresponding reference signs in the drawings, then appropriate reference signs need to be placed in parentheses after the features mentioned in the claims.

Guideline F 4.18

出願時から符号を付しておくと、審査官がクレームを理解することを助け、Clarity欠如による拒絶(Article 84 EPC)を防いでオフィスアクションの回数を減らしたり、現地代理人の作業時間を減らすことで、費用を削減でき得るというメリットがあります。

とはいえ、符号を付すのはめんどくさいです。構成要素は何回も登場しますので、通常は、
①構成要素名を Wordの検索機能で検索
②ヒットした要素名の後ろにペースト
を繰り返すのではないでしょうか?

私は、中間対応でクレームに符号を挿入することが非常に多いので、符号を挿入するWord VBAを使っています。
手前味噌ながら、大変comes in handyなので共有したいと思います。
ご興味をお持ちいただいた方は使ってみてください。

Code

Sub InsertReferenceSigns()

Dim TTerm As String
Dim ReferenceSign As String
Dim SelectedTerm As String
Dim TRange As Range
Dim Result As Integer

If MsgBox("Is a pointer at the beginning of claims?", vbYesNo) = vbNo Then
Exit Sub
End If

'Activating Tranck revision
ActiveDocument.TrackRevisions = True


'Setting a Term for which a reference sign is provided
SelectedTerm = Selection
If MsgBox("Is" & " [" & SelectedTerm & "] " & "the term for which you provide a sign?", vbYesNo) = vbYes Then
    TTerm = Selection
Else
    TTerm = InputBox("Please input a term for which a reference sign is provided")
End If

If TTerm = "" Then
    Exit Sub
End If

'Receiving a reference sign
ReferenceSign = " (" & InputBox("Please input a reference signs to be inserted without parenthses.") & ")"

'Removing a spece at the beginning and/or the end
TTerm = Trim(TTerm)

Set TRange = Selection.Range
With TRange.Find
    .Text = TTerm
    .Wrap = wdFindStop
    .MatchByte = True
End With

TRange.Collapse direction:=wdCollapseStart

Do While TRange.Find.Execute = True
    TRange.Select
    
    'Asking a user if input a reference sign here.
    Result = MsgBox("Insert a reference sign at the end of this term?", vbYesNoCancel)
    
    If Result <> vbCancel Then
        If Result = vbYes Then
            TRange.InsertAfter (ReferenceSign)
            TRange.Collapse direction:=wdCollapseEnd
        ElseIf Result = vbNo Then
            TRange.Collapse direction:=wdCollapseEnd
        End If
    Else: Exit Sub
    End If
Loop

Set TRange = Nothing

MsgBox "completed!"

End Sub

How to Use/使い方

Activating/ 起動

Activate this macro with the target term, which first appears in claims, selected.
対象となる語が、クレーム中で初めて登場する箇所を選択した状態で本VBAプログラムを起動します。

Answering a question/質問に答えます

A question “Is a cursor at the proper position?” is displayed. Answer this question. If the cursor is in the description instead of claims, you should answer with “no”.
適切な位置にカーソルがありますか?
と質問されるので、質問に答えます。例えば明細書中にカーソルを置いたまま起動してしまった場合はNoと答えて、一度VBAプログラムを終了させてください。

Track revision activated/変更履歴がオンになります

Track revision is activated automatically so that you can undo insertion of reference signs.
VBAプログラム終了後、プログラム実行前の状態に戻せるように変更履歴は自動的にオンになります。

Answering a question/質問に答えます

Answer a question “Is [controller ] the term for which you provide a sign?”
The term selected when this program is activated is to appear in square brackets . You do not have to be nervous about space at the beginning and the end of the term. They are to be trimmed in the internal process.

[controller ]が、符号を付したい語ですか?と質問されるので、質問に答えます。[]の中には、選択されている文字列が入るようになっています。[]中の文字列に符号を付したい場合は、はい、手動で文字列を入力した場合は、いいえを選びます。このとき、対象語の先頭と末尾に半角スペースが入っていても、自動的にトリムされます。地味な工夫ポイントです。

Inputting a reference sign/ 符号を入力します

対象語に付与したい参照符号を入力します。このとき、()は不要です。参照符号を裸のまま入力します。
Input a reference sign you would like to provide for the target term. Parentheses are not required. They are added automatically.

Answering if the reference sign should be provided for the term selected/ 選択されている語に参照符号を付与するか答える

選択されている対象語に参照符号を付与するかを答えます。現在の選択位置から、文書の最後までこの処理が繰り返されます。
Answer if you hope that the reference sign is provided for the selected term. This step is repeated until the end of the document.

Result to be achieved

EPOのguidelineを理解するために翻訳してみました。
転用していただいても構いませんが、内容に責任は持ちません。
間違っているところがあったらこっそり教えていただけると嬉しいです。

Guideline F-IV 4.10

4.14.1
Result to be achieved 達成されるべき結果
The area defined by the claims must be as precise as the invention allows.クレームにより定義される範囲は発明が許す限り明確でなければならない。
 As a general rule, claims which attempt to define the invention by a result to be achieved are not allowed, in particular if they only amount to claiming the underlying technical problem.一般に、発明を達成されるべき結果により定義するクレームは、特に背景にある技術的課題をクレームしているだけの場合、許されない。
 However, they may be allowed if the invention either can only be defined in such terms or cannot otherwise be defined more precisely without unduly restricting the scope of the claims and if the result is one which can be directly and positively verified by tests or procedures adequately specified in the description or known to the person skilled in the art and which do not require undue experimentation (see T 68/85).しかしながら、発明が -そのような表現でのみ定義することができる、又は -不当にクレームの範囲を制限することなしには、他により明確に定義することができず、更に 結果が、試験又は明細書中にて十分に特定された若しくは当業者に既知である手順により直接的かつ明確に立証できて、かつ過度の実験を要さない場合は、許容される。
 For example, the invention may relate to an ashtray in which a smouldering cigarette end will be automatically extinguished due to the shape and relative dimensions of the ashtray.例えば、そのような発明は、灰皿であって、該灰皿の形状と寸法比率によって、内部で無煙タバコの先が自動的に消炎するものに関することができる。
 The latter may vary considerably in a manner difficult to define whilst still providing the desired effect.後者(寸法比率)は、所望の効果をもたらしつつ、定義することが困難な態様で著しく変更され得る。
 So long as the claim specifies the construction and shape of the ashtray as clearly as possible, it may define the relative dimensions by reference to the result to be achieved, provided that the specification includes adequate directions to enable the skilled person to determine the required dimensions by routine test procedures (see F‑III, 1 to F‑III, 3).クレームが灰皿の構造と形状をできるだけ明確に特定する限りにおいて、当業者が要求される寸法を通常の試験手順によって決定することができる十分な指針を明細書が含むという条件で、達成されるべき結果を参照して相対寸法を定義してもよい(F‑III, 1 to F‑III, 3参照)。
However, these cases have to be distinguished from those in which the product is defined by the result to be achieved and the result amounts in essence to the problem underlying the application.しかしながら、これらは製造物が達成されるべき結果により定義され、その結果が本質的にその目的の背景にある課題となるケースとは区別されなければならない。
 It is established case law that an independent claim must indicate all the essential features of the object of the invention in order to comply with the requirements of Art. 84 (see G 2/88, Reasons 2.5, and G 1/04, Reasons 6.2).Art. 84 の要件を満たすために、独立クレームは発明の対象物の必須となる全ての構成を示さなければならないということは、確立された判例法である (see G 2/88, Reasons 2.5, and G 1/04, Reasons 6.2参照)。
 Art. 84 also reflects the general legal principle that the extent of monopoly conferred by a patent, as defined in the claims, must correspond to the technical contribution to the art. Art. 84 はまた、特許に与えられる独占権の範囲であって、クレームに定められるものは、その分野への技術的貢献に対応していなければならないという、一般的な法理を反映している。
 It must not extend to subject-matter which, after reading the description, would still not be at the disposal of the person skilled in the art (T 409/91, Reasons 3.3).上記範囲は、明細書を読んだ後に、未だ当業者が自由に使用することができない主題まで拡大されてはならない(T 409/91, Reasons 3.3)。
 The technical contribution of a patent resides in the combination of features which solve the problem underlying the application.特許の技術的貢献は、目的の背景にある課題を解決する特徴の組み合わせにある。
 Therefore, if the independent claim defines the product by a result to be achieved and the result amounts in essence to the problem underlying the application, that claim must state the essential features necessary to achieve the result claimed (T 809/12, Reasons 2.6-2.9.2), see also F‑IV, 4.5.そのため、独立クレームが製造物を達成されるべき結果により定義し、その結果が、本質的には目的の背景にある課題となっている場合、そのようなクレームはクレームされた結果を達成するため要される必須の特徴を述べなくてはならない(T 809/12, Reasons 2.6-2.9.2)。F‑IV, 4.5も参照。
The above-mentioned requirements for allowing a definition of subject-matter in terms of a result to be achieved differ from those for allowing a definition of subject-matter in terms of functional features (see F‑IV, 4.22, and F‑IV, 6.5).以上述べた達成されるべき結果によって主題を定義することが許容される要件は、機能的特徴によって主題を定義することを許容する要件とは異なる (F‑IV, 4.22, and F‑IV, 6.5参照)。

AHK script for putting three windows in a screen horizontally 2 /スクリーン上に3つのウィンドウを水平に並べるAHKスクリプトその2

この記事の続編です。

前回のスクリプトからの変更点

前回のスクリプトはウインドウを配置する位置を、
メッセージボックスのYes, No, Cancelを使って指定する仕様になっています。
仕事中に実際に使ってみたところ、
毎回メッセージボックスにYes, No, Cancelを入力するの、めんどいな・・・
と感じました。枕じゃあるまいし・・

そもそもこのスクリプトをつくる発端は、職場でのPC環境がそこそこの大きさのディスプレイ2枚使い→もっと大きいディスプレイ1枚使いになり、今まででは重宝していた

Windows ロゴ キー + ↑ウィンドウを最大化する。
Windows ロゴ キー + ↓現在のアプリを画面から削除する、またはデスクトップ ウィンドウを最小化する。
Windows ロゴ キー + ←画面の左側にアプリまたはデスクトップ ウィンドウを最大化する。
Windows ロゴ キー + →画面の右側にアプリまたはデスクトップ ウィンドウを最大化する。
引用:Windows のキーボード ショートカット
https://support.microsoft.com/ja-jp/help/12445/windows-keyboard-shortcuts


こちらのショートカットが役に立たなくなったことにあります。

今回のスクリプトの設計思想

  • 今となってはWindowsのショートカットは使わない
  • でも、これらのショートカットでウインドウを配置する感覚は記憶にある

ということで、Windowsののショートカットのキーバインドを、作成したスクリプトのトリガに使うことにしました。

ただし、Windowsのショートカットでは、ウインドウを左右の2つの領域のいずれかに配置していただけなので、真ん中という概念はありません。

そこで、真ん中に配置するスクリプトを起動するキーバインドは
{Ctrl}{LeftWin}{Up}にしました。
ウィンドウを最大化するWindowsのショートカットは、これからも使うかもしれないので{LeftWin}{Up}にはしませんでした。

ウィンドウをもっと広い領域に配置したい場合のために、
左+真ん中 又は真ん中+右 に相当する、スクリーンの2/3の領域に
ウインドウを配置することも可能にしました。

これらはそれぞれ
左+真ん中 {Ctrl}{LeftWin}{Left}
真ん中+右 {Ctrl}{LeftWin}{Right}
でactivateされます。

さらにダメ押しで上下にも分割可能にしました。
{Ctrl}{LeftWin}{Down}を入力するごとに、
アクティブウィンドウが、横方向の位置と幅はそのままに、上半分、下半分へと配置されます。

Script for putting an active window at a designated region

;put an active window at a left region
<#Left:: 	;activate with {LeftWin}{Left}
X := 0
Y := 0
Width := 1145
PutActiveWin(X, Y, Width)	
return

;put an active window at a middle region
^<#Up::		;activate with {Ctrl}{LeftWin}{Up}
X := 1146
Y := 0
Width := 1145
PutActiveWin(X, Y, Width)	
return

;put an active window at a right region
<#Right::	;activate with {LeftWin}{Right}
X := 2292
Y := 0
Width := 1145
PutActiveWin(X, Y, Width)	
return

;Toggle between upper and lower regions
^<#Down::		;activate with {Ctrl}{LeftWin}{Down}
WinGetPos, X, Y, Width, , A, , ,
WinGetTitle, Title, A
ToggleUpperLower(X, Y, Width, Title)
return

;put an active window at a left 2/3 region
^<#Left::		;activate with {Ctrl}{LeftWin}{Left}
PutActiveWin(0, 0, 2290)
return

;put an active window at a right 2/3 region
^<#Right::		;activate with {Ctrl}{LeftWin}{Right}
X := 1146
Y := 0
Width := 2290
PutActiveWin(X, Y, Width)
return


PutActiveWin(X, Y, Width) {
Height := 1400
WinGetTitle, Title, A
WinMove, %title%, , X, Y, Width, Height
}

ToggleUpperLower(X, Y, Width, title) {
Height := 700
if (Y = 0) {
Y := 700
}
else {
Y := 0
}
WinMove, %title%, , X, Y, Width, Height
}

このスクリプトを使い始めてからびっくりするくらい作業効率が上がりました。
明細書、クレーム、意見書をそれぞれwordで開いて左から並べて意見書を書くなんてこともできます。

今まで色々な便利スクリプトを書きましたが、これを最初に書くべきでした。

前回のスクリプトでは

Sleep, 200

スリープ入れてましたが、ぶっちゃけいらないので削除しました。

一般論として、クリップボード操作とか、カーソル移動など時間がかかる処理が直前にある場合は、その処理の完了前に後続の処理が実行され、それにより想定外の結果となる、ということはあります。

そのような恐れがある場合はスリープを入れることもありますが、今回は該当しません。
むしろ、スリープを入れると動きがもっさりしてイライラするのでいいことなしです。

前回の記事に書いたこちらのスクリプトで、ご自分のスクリーンの解像度を取得したのち、ご希望の分割数で割り算すれば、使用可能です。

え、わしはデュアルスクリーンだ。デュアルスクリーンの場合のスクリプトよこせ??

なんのことかわかりません。

AHK script for putting three windows in a screen horizontally /スクリーン上に3つのウィンドウを水平に並べるAHKスクリプト

実際に書いてみました。
サクッと書けた割には、上記tweetの

同じアプリケーションの複数のウインドウは区別してくれない点が不満

問題も発生しません。

Script for putting an active window at a designated region

^F11::			;activate pressing {Ctrl}{F11}

Width := 1145	;pixel size in a X-direction of each region 
Height := 1400	;pixel size in a X-direction of each region 

WinGetTitle, Title, A
MsgBox, 3, Select position, Left -> Yes`nMiddle ->No`nRight -> Cancel
IfMsgBox,yes
{
	X := 0			;X coordinate of the leftmost region
	Y := 0			;Y coordinate of the leftmost region
}
IfMsgBox,No
{
	X := 1146		;X coordinate of the middle region
	Y := 0 			;Y coordinate of the middle region
}
IfMsgBox,Cancel
{
	X := 2292		;X coordinate of the rightmost region
	Y := 0			;Y coordinate of the rightmost region
}
Sleep, 200
WinMove, %title%, , X, Y, Width, Height

return

上記コードは、3440 * 1400ピクセルの領域を左、真ん中、右の領域に3分割して得られる3つの領域のいずれかにアクティブウィンドウを配置(水平配置)します。

真ん中の領域のX座標が1145ではないのは、単に、3440/3 = 1146.6…となってしまったので、各領域の幅を1145にする→5ピクセル余る→各領域に少し隙間を設けておくか としただけです。
この辺りはお好きに調節してください。

Script for getting work area of your screen

WidthとHeightを算出するには、ご使用のスクリーンの大きさを知っている必要があります。私は、以下のスクリプトでスクリーンの大きさを取得しました。
起動すると、メッセージボックスにスクリーンの縦と横の寸法が表示されます。

+2::    ;activate pressing {Shift}{2}
SysGet, Mon2, MonitorWorkArea
MsgBox, Left: %Mon2Left% -- Top: %Mon2Top% -- Right: %Mon2Right% -- Bottom %Mon2Bottom%
return

ちなみに、

Same as the Monitor sub-command above except the area is reduced to exclude the area occupied by the taskbar and other registered desktop toolbars.

https://www.autohotkey.com/docs/commands/SysGet.htm#MonitorWorkArea

あるように、MonitorWorkAreaは、表示領域全体の寸法ではなく、そこからタスクバー等に占有されている領域を差っ引いた領域の寸法を取得します。

左右3分割じゃなくて4分割、5分割した領域に水配置したい、上下に分割した領域に配置したい(垂直配置)、というケースも考えましたが、ウィンドウの配置処理ではなく、ユーザインターフェース部分に、私の実力が追い付いていませんので、あきらめました。

2020年8月28日続編記事を書きました。

特許用語の英語がわからないときの調べ方

私は現在ドイツの事務所で働いているので、お客さんへのレターはお客さんが日本の特許事務所や日本企業であったとしても英語で書きます。
しかし、いくらドイツの事務所で働き始めたからといってすぐに英語ペラペラになれる筈もなく、英語でなんて言うのかわからないことは普通にあります。
「お客さんも日本人なんだから、日本語でよくね?」
と、思わなくもないですが、私の同僚はドイツ人ですので彼らが読める形で情報を残す必要があります。

新規性、進歩性、明確性あたりは仮にわからなくてもググったり辞書を引けばすぐに出てきます。
一方、手続きに関する表現は、検索しても意外とドンピシャな表現がすぐには見つけられません。

例えば、
PCT出願をEPOに移行する、とか
拡張サーチレポートへの応答をEPOに提出する
といった表現です。
“移行する”とか”提出する”とかすぐに出てきますか?私は現事務所で働き始めたころはなんて表現したらいいか分かりませんでした。

しかし、普段から英語でやりとりしている人たちにとっては当たり前の表現なので、ここで頓珍漢な表現を使ってしまうと
「え、この人こんなことも知らないの?」
とか思われて、ちょっと恥ずかしいです。

そこで、英語表現がわからないとき、私は以下の手順で対応する英語表現を探します。
1.条文の和訳を検索して表現したい手続きを定めている箇所を特定する
2.特定した箇所を原文で読む

例えば、先ほどの”PCT出願をEPOに移行する”を調べてみましょう。

1.条文の和訳を検索して表現したい手続きを定めている箇所を特定する

Implementing Regulationsto the Convention on the Grant of European Patents (欧州特許付与に関する条約の施行規則)の和訳のページ内で、

「移行」 で検索してみたところ、規則159に
「欧州段階への移行」とあるのを見つけました。

2.特定した箇所を原文で読む

今度は、
Implementing Regulationsto the Convention on the Grant of European Patents の159条を見に行きます。

これで、目的の英語表現は
entry into the European phase
であるとわかりました。

お恥ずかしながら、私は欧州実務を始めたばかりの頃はこの、entry into が出てこなくて、moving into とかtransferring into とか書いて、速攻でボスに直されました。
今では、このような知恵を付けたので、頓珍漢なミスはほとんどしなくなった・・・と思いたいです。

ちなみに、この手法は欧州実務には限りません。
ドイツのお客さんが日本に出願した場合は、日本の法律の条文を英語で表現する場合にも適用できます。

その場合は先ほどの工程を、
1.条文中の、検索して表現したい手続きを定めている箇所を特定する
2.特定した箇所を英訳で読む
とすればいい訳です。

私がよく参照する条文とその訳文ページへのリンクを、リンクページにまとめてありますので、よろしければご参照ください。