Excel VBA – 如何创建和转储数组复杂结构的哈希值?

标签 excel vba macos perl

我有 Perl 背景,正在学习 Excel-VBA。在perl中,我们可以使用Data::Dumper来获取数据结构的转储。

这是来自 perl 的示例:

use strict;
use Data::Dumper;

my $hash={};
$hash->{key1} = [ 1, "b", "c" ]; # the value stored against key1 here is an array
$hash->{key2} = [ 4.56, "g", "2008-12-16 19:10 -08:00" ]; # the value stored against key2 here is an array
my $hash2={1=>['one','ONE']}; # this is a hash
$hash->{key3}=$hash2; # the value stored against key3 here is a hash

print Dumper($hash)."\n";

它产生以下输出:

$VAR1 = {
         'key2' => [
                     '4.56',
                     'g',
                     '2008-12-16 19:10 -08:00'
                   ],
         'key1' => [
                     1,
                     'b',
                     'c'
                   ],
         'key3' => {
                     '1' => [
                              'one',
                              'ONE'
                            ]
                   }
        };

正如我之前提到的,我是 Excel-VBA 的新手并且正在学习它,因此请耐心等待我帮助我找到以下问题的答案:

  1. Excel-VBA 中有类似 perl 的 Data::Dumper 的东西吗?
  2. 如何使用 Scripting.Dictionary 对象在 Excel-VBA 中创建与上述完全相同的结构(即 $hash)?如何迭代该结构并检索针对该键存储的值?这种结构支持“exists”、“remove”、“add”等方法吗?

最佳答案

我不知道有什么内置机制可以满足您的要求。您必须创建一个“keyedArray”类来实现您想要的方法。弄清楚这一点将使您在 VBA 学习曲线上稳步前进。

一个好的起点是 http://www.cpearson.com/excel/classes.aspx

如果这对您没有帮助,请在评论中说明 - 我稍后可能有时间整理一个简短的示例。

关于Excel VBA – 如何创建和转储数组复杂结构的哈希值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15061660/

相关文章:

java - 使用 Apache POI 4.0 运行官方示例 LineChars 和 ScatterChart 时出现问题

excel - cell.Value 未检索单元格中的回车符

excel - 突出显示单元格中长文本中的所有单词

java - Apache Tomcat 服务器不显示在 Intellij Idea 14 Ultimate 的 doGet() 方法中创建的 HTML

linux - 从 Windows 和 Mac 客户端机器访问 MongoDB

python - 如何防止 Excel 从时间戳中删除秒?

arrays - 在vba中随机播放数组

python - 使用 pandas 来自 excel 的列数据框中的最后一个单元格

excel - 我如何将两个单元格的名称相乘?

xcode - 如何调试来自用户 : [__NSCFNumber localizedStandardCompare:]: unrecognized selector sent to instance 的控制台消息