嗨,我为 Outlook 开发了一个插件,我想在约会选项卡中添加一个新的自定义切换按钮。当我保存约会时,我想获取切换按钮的当前状态。到目前为止,这是我的代码:
所以按钮已经创建,但是当我按下保存时,我无法获得按钮控件。功能区1.xml:
<tab idMso="TabAppointment">
<group id="SalesforceGroup" label="Salesforce">
<toggleButton id="ImportToSalesforce" size="large"
label="Import to Salesforce" imageMso="DatabaseInsert"
getPressed="GetPressed"
onAction="Salesforce_Click" />
</group>
</tab>
功能区1.vb:
Public Sub GetPressed(ByVal control As Office.IRibbonControl)
MsgBox("test") ' This alert only pops up when the appointment window opens
End Sub
Public Sub Salesforce_Click(ByVal control As Office.IRibbonControl)
MsgBox("test") ' This alert never pops up
End Sub
这个插件.vb:
Private Sub inspectors_NewInspector(ByVal Inspector As Microsoft.Office.Interop.Outlook.Inspector) Handles inspectors.NewInspector
If TypeName(Inspector.CurrentItem) = "AppointmentItem" Then
MsgBox("event")
oAppointmentItem = TryCast(Inspector.CurrentItem, Outlook.AppointmentItem)
AddHandler oAppointmentItem.Write, AddressOf Item_Save
End If
End Sub
Private Sub Item_Save(ByRef Cancel As Boolean)
'get IRibbonControl
End Sub
更新: 修复了我的 onAction 函数永远不会被调用的问题,因为参数设置不正确:Ribbon1.vb:
Public Sub Salesforce_Click(ByVal control As Office.IRibbonControl, _
ByVal isPressed As Boolean)
MsgBox("test2")
End Sub
但主要的问题是:当用户按下保存时,如何获取工具按钮的状态?