2010-12-14 89 views
2

我需要一个VBA映射对象,类似于Excel 2010中使用的C++ STL映射类。我很担心自己写了一个,并且还在编写XLL。有没有人知道免费提供这样一个对象? Scripting.Dictionary不会,因为我需要有序的迭代。寻找一个好的VBA树形图实现

+0

字典对你有用吗? http://support.microsoft.com/kb/187234/EN-US/ – Fionnuala 2010-12-14 10:40:14

+0

不,字典是不支持有序迭代的散列表。 – ThomasMcLeod 2010-12-14 18:03:48

回答

0

在回答我自己的问题时,Collection对象可用于有序迭代。但是,唯一可用的订购是在产品编号上。我最终创建了一个使用ATL公开std:map的COM对象。

0

下面是从一本书,托管在MSDN中,描述了如何创建一个二叉树一章,让你开始可能是有用的,至少:Implementing a Binary Tree

他们提到,应该有示例代码的CD,不知道您是否可以从那里或从发布商那里下载,也不知道在提供源代码的许可证下。

+0

我看到了,谢谢。这不是一个平衡的树,它没有删除,搜索等代码 – ThomasMcLeod 2010-12-14 09:05:57

+2

@Thomas:否则,你不能只是作弊。使用C++或C#创建一个兼容自动化的库,并使用其中的内置类作为树,然后使用VBA代码中的类。如果你只是想存储简单的数据类型,比如字符串或数字,我认为它会相当容易,你会得到一个经过良好测试的类,而不是写你自己的。 – 2010-12-14 09:37:44

+0

我明白你的意思了。而不是写一个完整的XLL,通过COM公开一个C++地图对象。你认为这会更容易吗? – ThomasMcLeod 2010-12-14 18:02:14