excel - 将对象变量从单元格传递到(Excel)VBA
问题描述
我有一个 VBA 脚本,可以记录 Outlook 中选定文件夹中的未读电子邮件。目前,帐户和文件夹名称已硬编码到脚本中,但我想通过其中一张 excel 表对其进行配置。
目前变量设置在这里:
Set inboxselect = GetObject(, "Outlook.Application").GetNameSpace("MAPI").Folders("mailbox@companyname.com").Folders("Inbox").Folders("SubInbox")
理想情况下,我想要一张名为 Config 的表格,其中包含以下数据:
Account: mailbox@companyname.com
Folder: Inbox
Subfolder: Subfolder
然后在 VBA 脚本中引用它,但我无法理解如何将单元格引用传递给变量。我试过了:
inboxselect = GetObject(, "Outlook.Application").GetNameSpace("MAPI").Folders(Worksheets("Config").Range("B1")).Folders("Inbox").Folders("SubInbox")
但它给出了一个类型不匹配的错误。
有没有人能够就如何做到这一点提供任何启示?
解决方案
您尝试传递给 GetObject() 函数的变量是字符串。
您可以在 Excel 工作表上使用命名单元格,例如,如果单元格 A1 包含该单元格帐户的“mailbox@company.com”名称(使用名称管理器或仅覆盖窗口左上角的单元格引用。
在 vba 中,您可以使用
Dim sAccount as String
sAccount = Range("Account").Value
Set inboxselect = GetObject(, "Outlook.Application").GetNameSpace("MAPI").Folders(sAccount).Folders("Inbox").Folders("SubInbox")
其他变量也是如此。
推荐阅读
- rust - 优化格式!如果不使用其结果,则为 nop
- java - iText 7:此 pdf 文档可能无法正确显示 Firefox
- node.js - Node.js 服务器未正确提供文件
- c# - Entity Framework Core 首次查询与后续查询性能
- r - Shiny:增加 MathJax 的字体大小
- templates - Shopware 自定义选项卡在选择变体后导致错误
- powerquery - 如果 logic = true,则使用前一行的值,否则使用另一列
- django - Django 不创建迁移来为遗留外键字段创建索引
- reactjs - 需要帮助将此代码从类组件(React)转换为功能挂钩
- python-2.7 - Ansible:检查磁盘大小并根据其大小创建卷组