VBAで辞書を作成しました。これを使用CreateObject("Scripting.Dictionary")
して、ソースワードを、一部のテキストで置き換えられるターゲットワードにマップします(これは実際には難読化のためです)。
残念ながら、以下のコードに従って実際の置換を行うと、辞書に追加された順序でソースワードが置換されます。たとえば、「Blue」、「Blue Berry」の順にすると、「Blue Berry」の「Blue」の部分が最初のターゲットに置き換えられ、「Berry」はそのまま残ります。
'This is where I replace the values
For Each curKey In dctRepl.keys()
largeTxt = Replace(largeTxt, curKey, dctRepl(curKey))
Next
最初に辞書のキーを最長から最短の長さに並べ替えてから、上記のように置換することで、この問題を解決できると考えています。問題は、この方法でキーを並べ替える方法がわからないことです。