gpt4 book ai didi

vba - MS Office - ActiveX 按钮切换位置

转载 作者:行者123 更新时间:2023-12-04 03:12:53 26 4
gpt4 key购买 nike

此问题有多个实例,但这个问题占主导地位。这与更新有关(我们最显着的问题 child 是 KB2726958)。我们有一个看起来像这样的休假电子表格:

Leave Spreadsheet example

按下灰色的离开按钮,您将到达这里:

Leave Word doc

所有这些的编程都是用 VBA 编写的(我以前从未使用过 VBA,我能在一定程度上理解它)。

现在,问题是在“离开电子表格示例”中使用 ActiveX 按钮会导致“通过电子邮件发送”和“保存”这两个按钮切换功能;通过电子邮件发送尝试保存并保存打开 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 文件)

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

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

最佳答案

所以下面提到的补丁已经解决了这个问题。还有一些其他问题我需要测试这个补丁,但我绝对应该从那里开始。经验教训。

来 self 的工作邮箱:
我刚刚尝试使用与 ActiveX 控件破坏相关的补丁 KB2920754。我已经在培训室的两台 PC 上使用过它;两者都有不同的问题:
- 第一个有切换的按钮(保存尝试发送到电子邮件,电子邮件尝试保存)
- 第二个根本无法使用按钮。
这个补丁解决了这两个问题,不需要重新启动或注销并重新登录。我也没有删除任何 .exd 文件。
然而,它确实声明:
“重要要使此修复完全有效,您还必须应用以下 Microsoft 知识库文章的“解决方案”部分中列出的 Office 2013 的其他补丁”
一共6个。
补丁:
1. KB2920754——(我用过的那个)
2. KB2956145
3. KB2956163
4. KB2965206
5. KB2956176
6.KB2956155

关于vba - MS Office - ActiveX 按钮切换位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43577362/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com