MS Office – ActiveXbutton切换位置

这个问题有几个例子,但这个是主要的。 这是关于更新(我们最显着的问题是孩子是KB2726958)。 我们有一个Leave Spreadsheet看起来像这样:

离开Spreadsheet示例

通过按下灰色的“离开”button,你最终在这里:

留下Word文档

所有的编程都是用VBA编写的(我以前从来没有用过VBA,我可以在一定程度上理解它)。

现在问题在于,使用“Leave Spreadsheet example”中的ActiveXbutton会导致2个button“通过电子邮件发送”和“保存”来切换function; 通过电子邮件发送尝试保存并保存打开Outlook并创build电子邮件。
两个function都完全保留了function,只是错误的button。

我觉得奇怪的是,超链接到相同的文件的作品; button不会被切换,并具有完整的function。 我唯一的解决方法就是在使用超链接时直接打开文件。 当使用ActiveXbutton时,它似乎是基于它所链接的文件创build一个新的文件。 例如,超链接直接打开C:\ Report.dotm,但ActiveXbutton打开Document1.doc,并使用基于Report.dotm的模板。
我正在考虑,也许activeXbutton打开一个不正确的扩展名的Word? 但我不知道如何解决这个问题(下面的代码显示在ActiveX控件上的链接文件是一个.dotm)。

什么进一步投入扳手混合的是,它只影响一些电脑…考虑到现场我们都使用相同types的电脑相同的图像… 🙁

我的问题是,有谁知道他们为什么可能交换? 他们位于相同的networking驱动器,尽pipe不同的目录。 他们需要相同的权限才能访问。 这些button的代码如下所示:Excelbutton:

Private Sub CommandButton1_Click() ' This button links the excel spreadsheet to the word doc Dim wrdApp As Object Dim wrdDoc As Object Dim i As Integer Set wrdApp = CreateObject("Word.Application") wrdApp.Visible = True Set wrdDoc = wrdApp.Documents.Add("\\networkdrive\directories\Request for Leave.dotm") End Sub 

字button1和2:

 Private Sub cmdSend_Click() ' This is the code for the button 'Send by Email' MsgBox "Send the following email to your Team Leader/Line Manager", vbInformation SendDocumentAsAttachment "", "IPL Request for Leave" End Sub Private Sub cmdSave_Click() ' This is the code for 'Save' modSend.SaveLeaveForm End Sub 

请注意:上面的注释并不在VBA的代码中,我已经在这个问题中自己写了这些注释来提供清晰。

我做的故障排除:
删除所有.exd文件
运行MS修补程序(删除GUI中的所有.exd文件)

下一步就是尝试运行与修复ActiveX控件相关的所有6个修补程序,并使用我们已经完成的特定修补程序来查看是否修复了问题。 我还没有这样做的原因是因为ITIL(变更pipe理),尽pipe我今天晚些时候可能会尝试这个。

我后来的结果是什么?
理想情况下,我想了解是什么导致这些button,看起来像交换他们的function。 我有不同的button交换场景,其中一些可以通过删除.exd文件来解决,有些则不是。
通过了解正在发生的事情,我希望可以将知识应用于其他场景(同样的问题,不同的编码)。
然后,我将能够logging我的发现,以便在我们执行下一轮已知打破ActiveX控件的修补时,我的组织将知道如何处理它。

所以下面提到的补丁已经解决了这个问题。 还有一些其他问题需要testing这个补丁,但我肯定应该从那里开始。 学习到教训了。

从我的工作电子邮件:
我刚刚尝试使用与ActiveX控件相关的修补程序KB2920754。 我已经在训练室的两台电脑上使用了它。 两者都有不同的问题:
– 第一个button有切换(保存尝试电子邮件,电子邮件企图保存)
– 第二个根本不能使用button。
这个补丁既可以不需要重新启动,也可以注销并重新login。我也没有删除任何.exd文件。
但是,它确实说明:
“重要说明:要使此修补程序完全有效,还必须应用以下Microsoft知识库文章”解决scheme“部分中列出的Office 2013的其他修补程序”
共有6个。
补丁:
1. KB2920754 – (我成功使用的)
2. KB2956145
3. KB2956163
4. KB2965206
5. KB2956176
6. KB2956155