我在VBA中使用CreateObject("Scripting.Dictionary")
創建了一個詞典,它將源詞語與目標詞語進行映射,以便在某些文本中進行替換(這實際上是用於混淆處理)。用VBA中的鍵對字典排序
不幸的是,當我根據下面的代碼進行實際替換時,它將按照它們添加到字典中的順序來替換源單詞。如果我有例如「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
我在想,我可以首先從最長長度排序字典的鍵以最短的長度,然後做替換如上解決此問題。問題是我不知道如何通過這種方式對鍵進行排序。
參見[cpearson.com](http://www.cpearson.com /excel/CollectionsAndDictionaries.htm) – 2013-02-11 08:40:29
@chrisneilsen:尼斯鏈接,雖然不完全是我所需要的。 – neelsg 2013-02-11 08:44:55