这个问题有好几个例子,但这个是主要的。这与更新有关(我们最显着的问题是KB2726958)。我们有一个离开电子表格,看起来像这样:MS Office - ActiveX按钮切换位置
按下灰色的离开按钮,你会在这里结束:
所有这些编程写在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控件的修补时,我的组织将知道如何处理它。
尝试总结你的问题。 – Masoud
Word dotm(不是普通模块)的“* ThisDocument *”中是否有任何代码?注意dotm是带有宏的模板。 'Documents.Add()'用于创建基于Template doc的新文档。从超链接中,您**打开**。此外,是否签署了宏并将网络路径添加到受信任的文件夹? – PatricK