在Mac上使用VBA(Excel)字典?

7 浏览
0 Comments

在Mac上使用VBA(Excel)字典?

我有一个Excel VBA项目,其中大量使用了Windows Scripting Dictionary对象。最近,有一个用户试图在Mac上使用它,却收到了以下错误:

编译错误:找不到项目或库

这是使用工具 > 引用 > Microsoft Scripting Runtime库的结果。

我的问题是,有没有办法在Mac上使它工作

以下是我能想到的3种可能的解决方案:

  1. 使用能够在Mac上使用字典的插件(如果存在的话,这是我最喜欢的选项)
  2. 进行某种变量切换,如下所示:

    isMac = CheckIfMac
    If isMac Then
        ' 将字典变量更改为某种对Mac友好并提供相同功能的数据类型 
    End If
    

  3. 编写两个完全独立的程序来完成相同的任务(请不要让这成为必须发生的事情):

    isMac = CheckIfMac
    If isMac Then
        DoTheMacRoutine
    Else
       DoTheWindowsRoutine
    End If
    

0
0 Comments

VBA(Excel)在Mac上无法使用Dictionary的问题的原因是Mac上的MS Office 2016不支持Patrick O'Beirne所提供的Dictionary类。为了解决这个问题,有人提供了另一种实现方法。

下面是解决方法的具体内容:

1. 首先,从Patrick O'Beirne的博客上下载KeyValuePair.cls文件,并将其保存为纯文本文件。

2. 然后,从同一博客上下载Dictionary.cls文件,并将其保存为纯文本文件。

3. 在Excel中导入这两个文件。具体方法是:在Excel中打开Visual Basic Editor(VBE),然后选择"文件"->"导入文件",选择KeyValuePair.cls文件,再选择"文件"->"导入文件",选择Dictionary.cls文件。

4. 导入完成后,就可以在VBE中使用Dictionary类了。可以使用以下方法:

- Add方法:添加键值对到字典中。参数为键和值。

- Count属性:获取字典中键值对的数量。

- Item方法:获取或设置字典中指定键的值。

- Remove方法:从字典中删除指定键的键值对。

- RemoveAll方法:删除字典中的所有键值对。

- Exists方法:判断指定键是否存在于字典中。

- Items属性:获取字典中的所有值。

- Keys属性:获取字典中的所有键。

这样,就可以在Mac上使用VBA(Excel)中的Dictionary类了。

这个解决方法是根据原文中的评论整理出来的,希望能够帮助到其他遇到同样问题的人。

0
0 Comments

在Excel 2016 for Mac中使用VBA的过程中,出现了一个问题:如何在Mac上使用VBA的字典(Dictionary)功能。以下是问题的原因和解决方法。

问题的原因是,Excel 2016 for Mac默认不支持VBA的字典功能。这就意味着无法直接在Mac上使用VBA的Dictionary对象,这给开发者带来了一些困扰。

不过,幸运的是,有一位名为Patrick O'Beirne的开发者提供了一个解决方法。他创建了一个可以在Excel 2016 for Mac中使用VBA的字典功能的类文件,并将其打包成zip文件,可以从他的网站http://www.sysmod.com/Dictionary.zip进行下载。

解决方法非常简单。只需下载并解压缩这个zip文件,然后将类文件导入到Excel 2016 for Mac中即可。这个解决方法已经在Excel 2016 for Mac 16.13 Build 424上进行过测试,可以正常使用。

至于下载链接的问题,有用户反馈说链接无法打开或存在安全隐患。实际上,这个问题是由于链接的网站使用的证书由odin.com颁发,而chrome浏览器默认不信任此证书所致。但实际上,这个下载链接是安全的,只是网站使用的是http协议而不是https协议。因此,用户可以忽略浏览器的安全警告,继续下载。

总结一下,为了在Excel 2016 for Mac中使用VBA的字典功能,我们可以通过下载并导入Patrick O'Beirne提供的类文件来解决。虽然下载链接存在一些问题,但实际上是安全的,可以继续下载。希望这个解决方法对需要在Mac上使用VBA的字典功能的开发者们有所帮助。

0
0 Comments

VBA(Excel)在Mac上使用字典(Dictionary)的问题以及解决方法

在使用MS Office 2016的Mac版本时,Patirk的实现方法不起作用,因此我使用了Tim Hall的实现方法。具体实现方法可以在以下链接中找到:https://github.com/VBA-tools/VBA-Dictionary

此外,截至2017年9月,将cls文件导入Excel在MS Office 2016的Mac版本中也无法正常工作。因此,我不得不手动创建一个类模块,并将Dictionary.cls的内容复制粘贴到该模块中,同时删除Dictionary.cls中的元信息,如VERSION 1.0 CLASSBEGINENDAttribute

通过以上方法,我们可以在Mac上使用VBA的Dictionary字典功能,解决了在MS Office 2016的Mac版本中无法正常使用字典的问题。

0