COM 对象的完整方法列表
Full list of methods for COM objects
我想知道哪些函数可以与 RDCOMClient 对象一起使用。
例如,要创建我们可以使用的电子邮件
OutApp <- COMCreate("Outlook.Application")
# create an email
outMail = OutApp$CreateItem(0)
连同 outMail[["subject"]]
、outMail[["HTMLbody"]]
或 outMail[["Attachments"]]$Add(filepath)
但是我怎样才能得到一个完整的列表呢?
RDCOMClient doc 已过时,getFuncs()
和 getElements()
等列出的功能在软件包中不再可用。使用 names()
尝试找出引擎盖下的内容没有给我任何结果,并且
install.packages("remotes")
remotes::install_github("omegahat/SWinTypeLibs")
也报错。知道如何检查 Outlook 中的对象吗?
我不确定在 R 中有什么方法可以做到这一点,但是你应该可以在 powershell 中做到这一点。
我还在学习powershell,但是这个至少得到了一个对象的所有属性和方法:
$ol = New-Object -ComObject Outlook.Application
$new_item = $ol.CreateItem(0)
$new_item | Get-Member
TypeName: System.__ComObject#{...}
Name MemberType Definition
---- ---------- --------
HTMLBody Property string HTMLBody () {get} {set}
Subject Property string Subject () {get} {set}
Attachments Property Attachments Attachments() {get}
还有很多,但我实际上是从我的另一台安装了 Outlook 的计算机上转录的。 Get-Member
不仅仅适用于应用程序对象,因此您还可以查看 Outlook
对象本身或其他 COMS 可访问的成员和属性。
VBA 资源似乎也有帮助:
https://docs.microsoft.com/en-us/office/vba/api/outlook.application.createitem
Name
Value
Description
olAppointmentItem
1
An AppointmentItem object.
olContactItem
2
A ContactItem object.
olDistributionListItem
7
A DistListItem object.
olJournalItem
4
A JournalItem object.
....
...
...
最重要的是:
https://docs.microsoft.com/en-us/office/vba/api/outlook.mailitem
PROPERTIES
---------
Actions
AlternateRecipientAllowed
Application
Attachments
AutoForwarded
AutoResolvedWinner
BCC
BillingInformation
Body
BodyFormat
Categories
CC
...
如果您安装了 Outlook、Excel 或 Word,那么您可以执行以下操作...
- 按 F11 进入 Visual Basic 应用程序 (VBA) 集成开发环境 (IDE)。
- 在菜单栏上转到“工具”->“引用”以弹出“引用”对话框。
- 在“引用”对话框的“可用引用”复选框列表中,向下翻页直到找到 Microsoft Outlook 库(或类似库),找到后选中该复选框,然后按“确定”确认 selection 和关闭对话框。这会将对 Outlook 类型库的引用添加到当前项目。
- 引用 Outlook 类型库(参见步骤 (3))后,现在可以按 F2 显示“对象浏览器”对话框。
- 在“对象浏览器”对话框中,select 左上角的下拉列表可能会显示
<All Libraries>
。更改下拉列表,使其显示 Outlook,这会将对象浏览器的范围限定为 Outlook 类型库。
- 您现在可以浏览 Outlook 类型库中的所有对象。 Select class 在左侧的 类 窗格中,class 的方法将出现在右侧。
尽情享受吧!
这对于 Outlook 来说可以很容易地完成,因为每个 Outlook 对象都有一个 class
属性.
如果在 R 中有给定的 COMIDispatch
class 对象,并且它是对 Outlook 对象的引用,则可以使用函数 class()
检索其 class 然后检查 OlObjectClass enumeration 以了解 class 具有哪些属性和方法。
一个简短的分步示例:
> # initialise the app
> Outlook_App <- RDCOMClient::COMCreate("Outlook.Application")
为了找出我们可以用那个对象做什么,我们需要查找参考。为此,我们需要它的 class.
> Outlook_App$class()
[1] 0
所以我们在 OlObjectClass enumeration 中查找 0 并发现它是一个 Application 对象。它的属性和方法在OlObjectClass enumeration中引用的link中列出:Application.
在这里,我们可以访问方法和属性。对于这些事件,我们需要现在不存在的包 RDCOMEvents and/or RDCOMServer.
但我们可以尝试getNameSpace("MAPI")
方法来访问其他一些功能。我们知道我们必须使用上面方法描述中的“MAPI”参数link。
> Outlook_Namespace <- Outlook_App$getNameSpace("MAPI")
现在,Namepace 对象有另一个 class,我们可以为它查找对象定义等等。
不幸的是,这对 Excel 对象不起作用,因为它们没有 class 属性,如果有人知道解决方案,请与我联系。
我想知道哪些函数可以与 RDCOMClient 对象一起使用。
例如,要创建我们可以使用的电子邮件
OutApp <- COMCreate("Outlook.Application")
# create an email
outMail = OutApp$CreateItem(0)
连同 outMail[["subject"]]
、outMail[["HTMLbody"]]
或 outMail[["Attachments"]]$Add(filepath)
但是我怎样才能得到一个完整的列表呢?
RDCOMClient doc 已过时,getFuncs()
和 getElements()
等列出的功能在软件包中不再可用。使用 names()
尝试找出引擎盖下的内容没有给我任何结果,并且
install.packages("remotes")
remotes::install_github("omegahat/SWinTypeLibs")
也报错。知道如何检查 Outlook 中的对象吗?
我不确定在 R 中有什么方法可以做到这一点,但是你应该可以在 powershell 中做到这一点。
我还在学习powershell,但是这个至少得到了一个对象的所有属性和方法:
$ol = New-Object -ComObject Outlook.Application
$new_item = $ol.CreateItem(0)
$new_item | Get-Member
TypeName: System.__ComObject#{...}
Name MemberType Definition
---- ---------- --------
HTMLBody Property string HTMLBody () {get} {set}
Subject Property string Subject () {get} {set}
Attachments Property Attachments Attachments() {get}
还有很多,但我实际上是从我的另一台安装了 Outlook 的计算机上转录的。 Get-Member
不仅仅适用于应用程序对象,因此您还可以查看 Outlook
对象本身或其他 COMS 可访问的成员和属性。
VBA 资源似乎也有帮助:
https://docs.microsoft.com/en-us/office/vba/api/outlook.application.createitem
Name | Value | Description |
---|---|---|
olAppointmentItem | 1 | An AppointmentItem object. |
olContactItem | 2 | A ContactItem object. |
olDistributionListItem | 7 | A DistListItem object. |
olJournalItem | 4 | A JournalItem object. |
.... | ... | ... |
最重要的是:
https://docs.microsoft.com/en-us/office/vba/api/outlook.mailitem
PROPERTIES
---------
Actions
AlternateRecipientAllowed
Application
Attachments
AutoForwarded
AutoResolvedWinner
BCC
BillingInformation
Body
BodyFormat
Categories
CC
...
如果您安装了 Outlook、Excel 或 Word,那么您可以执行以下操作...
- 按 F11 进入 Visual Basic 应用程序 (VBA) 集成开发环境 (IDE)。
- 在菜单栏上转到“工具”->“引用”以弹出“引用”对话框。
- 在“引用”对话框的“可用引用”复选框列表中,向下翻页直到找到 Microsoft Outlook 库(或类似库),找到后选中该复选框,然后按“确定”确认 selection 和关闭对话框。这会将对 Outlook 类型库的引用添加到当前项目。
- 引用 Outlook 类型库(参见步骤 (3))后,现在可以按 F2 显示“对象浏览器”对话框。
- 在“对象浏览器”对话框中,select 左上角的下拉列表可能会显示
<All Libraries>
。更改下拉列表,使其显示 Outlook,这会将对象浏览器的范围限定为 Outlook 类型库。 - 您现在可以浏览 Outlook 类型库中的所有对象。 Select class 在左侧的 类 窗格中,class 的方法将出现在右侧。
尽情享受吧!
这对于 Outlook 来说可以很容易地完成,因为每个 Outlook 对象都有一个 class
属性.
如果在 R 中有给定的 COMIDispatch
class 对象,并且它是对 Outlook 对象的引用,则可以使用函数 class()
检索其 class 然后检查 OlObjectClass enumeration 以了解 class 具有哪些属性和方法。
一个简短的分步示例:
> # initialise the app
> Outlook_App <- RDCOMClient::COMCreate("Outlook.Application")
为了找出我们可以用那个对象做什么,我们需要查找参考。为此,我们需要它的 class.
> Outlook_App$class()
[1] 0
所以我们在 OlObjectClass enumeration 中查找 0 并发现它是一个 Application 对象。它的属性和方法在OlObjectClass enumeration中引用的link中列出:Application.
在这里,我们可以访问方法和属性。对于这些事件,我们需要现在不存在的包 RDCOMEvents and/or RDCOMServer.
但我们可以尝试getNameSpace("MAPI")
方法来访问其他一些功能。我们知道我们必须使用上面方法描述中的“MAPI”参数link。
> Outlook_Namespace <- Outlook_App$getNameSpace("MAPI")
现在,Namepace 对象有另一个 class,我们可以为它查找对象定义等等。
不幸的是,这对 Excel 对象不起作用,因为它们没有 class 属性,如果有人知道解决方案,请与我联系。