【问题标题】:Persisting VBA/VBScript macro settings持久化 VBA/VBScript 宏设置
【发布时间】:2020-06-29 17:26:55
【问题描述】:

我创建了一个 Outlook (2010) VBScript 宏,其中包含一些用户可配置的设置。我已经用谷歌搜索并检查了可能的资源,但找不到持久保存它们的好方法。我目前将它们存储在邮件的正文中!没有比这更混乱的了!
我应该使用 Windows 注册表吗?一个ini文件?或者???以及无论是注册表、文件还是???,什么键/文件夹/???我会用吗?

【问题讨论】:

  • 不用担心发布回答您自己的问题 - 它与其他人相关(我刚刚学到了一些东西),所以保留它!我刚刚从你的问题和周围的“我问并回答了一个问题”中删除了答案,所以它只显示了你的核心问题。
  • 谢谢彼得!

标签: vba outlook outlook-2010


【解决方案1】:

就在点击“发布”之前,我又尝试了一次谷歌搜索并点击了这个:http://www.jkp-ads.com/articles/DistributeMacro08.asp

我带走的要点是,ini 文件或注册表都是 kosher。 VBA 使用注册表的一个好处是它会自动将“应用程序”数据放在批准的位置,只需为您的“应用程序”提供一个密钥。由于我的数据只是一个已经存在解析代码的大字符串,因此我使用了strData = GetSetting(strAppKey, strSection, strLeafKey)SaveSetting(strAppKey, strSection, strLeafKey, strData),瞧,一切都很好。

【讨论】:

    【解决方案2】:

    存储设置的标准 Outlook 方法,特别是如果它们与特定邮箱/存储相关并且可以从连接到同一邮箱的多台计算机访问,是使用存储在众所周知的文件夹之一中的隐藏消息,例如作为收件箱。
    可以使用 MAPIFolder.GetStorage 访问隐藏的 MAPI 消息:http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.mapifolder.getstorage.aspx

    【讨论】:

    • 完美!谢谢德米特里!
    • 对于像我这样的人...我花了几分钟和几页 MS 文档才弄明白 1. 要创建一个新的 StorageItem,只需调用 Set MyItem = GetStorage(...) 并使用不支持的密钥'不存在。 2. StorageItem 是 MailItem 的子类 - 所以以同样的方式使用它,例如 MyItem.Body = strData 然后 MyItem.Save
    猜你喜欢
    • 2011-10-13
    • 2014-07-06
    • 2011-11-20
    • 2019-10-30
    • 1970-01-01
    • 1970-01-01
    • 2021-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多