2017-04-23 130 views
3

这个问题有好几个例子,但这个是主要的。这与更新有关(我们最显着的问题是KB2726958)。我们有一个离开电子表格,看起来像这样:MS Office - ActiveX按钮切换位置

Leave Spreadsheet example

按下灰色的离开按钮,你会在这里结束:

Leave Word doc

所有这些编程写在VBA(我从来没有使用过VBA,我可以在一定程度上理解它)。

现在,问题在于使用'Leave Spreadsheet example'中的ActiveX按钮导致2个按钮'通过电子邮件发送'和'保存'来切换功能;通过电子邮件发送尝试保存并保存打开Outlook并创建电子邮件。
这两个功能都完全保留了功能,只是错误的按钮。

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

什么进一步抛出一个扳手混进去的是,它只会影响某些计算机......考虑到现场大家都用同一类型,具有相同的图像PC的... :(

我的问题是,没有人知道他们为什么可以被交换他们处于同一个网络驱动器尽管是在不同的目录上,他们需要同样的权限访问该按钮的代码如下:。 的Excel按钮:

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 

字按钮1和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)

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

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

+0

尝试总结你的问题。 – Masoud

+0

Word dotm(不是普通模块)的“* ThisDocument *”中是否有任何代码?注意dotm是带有宏的模板。 'Documents.Add()'用于创建基于Template doc的新文档。从超链接中,您**打开**。此外,是否签署了宏并将网络路径添加到受信任的文件夹? – PatricK

回答

2

因此下面提到的补丁修正了这个问题。还有一些其他问题需要我测试这个补丁,但我绝对应该从那里开始。学习到教训了。

从我的工作电子邮件:
我已经使用相关的ActiveX补丁只是试图打破控件,KB2920754。我已经在训练室的两台电脑上使用了它;两者有不同的问题:
- 第一个有这样的交换了周围的按钮(SAVE试图电子邮件,电子邮件试图保存)
- 第二个不能使用的按钮都没有。
此修补程序既能解决无需重新启动或注销又能解决问题的功能。我也没有删除任何.exd文件。
它的状态,但是:
“重要对于此修订是完全有效的,你还必须申请属于中列出了Office 2013的其他补丁‘
解决方案’下面的Microsoft知识库文章的一节”总共有6个。
补丁:
1. KB2920754 - (所述一个我已经成功地使用的)
2. KB2956145
3. KB2956163
4. KB2965206
5. KB2956176
6. KB2956155