gpt4 book ai didi

excel - 我的 Excel 加载项添加后不断消失

转载 作者:行者123 更新时间:2023-12-02 11:49:29 25 4
gpt4 key购买 nike

我在公司有一个小任务。任务很简单,但也很困惑。许多年前,我们有人为 Excel 创建了一个小型 VBA 代码。当时的格式是Excel 97-2003,今天我们用的是Office 365。现在是这样的,Excel启动时加载项图标消失了,还有其他图标没有消失,是它的“邻居”我们的图标。我可以添加它,下次启动 Excel 时它就在那里,但下次启动 Excel 时它不可用。它在 Excel 加载项中仍处于选中状态,但只是不显示。我已经在 Google 上搜索了解决方案,但解决方法并不是我想要的。一些解决方法是将文件保存在受信任的位置,我这样做了,但这就是结果。事实上,该文件现在位于受信任的位置。所以我认为这是导致问题的实际代码。以下代码为原创。我什么也没做。

Option Base 1

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim cb As CommandBars
Dim name As Variant
Dim j As Integer
Dim i As Integer

On Error Resume Next

Set cb = Application.CommandBars

For j = cb.Count To 1 Step -1
If cb(j).name = "iSeries Access" Or cb(j).name = "Client Access" Then
cb(j).Visible = False
name = cb(j).name
With cb(name)
For i = .Controls.Count To 1 Step -1
If .Controls(i).Caption = "Format BPCS Bill Of Material..." Then
.Controls(i).Delete
GoTo nn
End If
If .Controls(i).Caption = "Custom" Then
.Controls(i).Enabled = True
.Controls(i).Visible = True
End If
If .Controls(i).Caption = "&Dialog" Then
.Controls(i).Enabled = True
.Controls(i).Visible = True
End If
nn:
Next
End With
cb(j).Visible = True
j = 1
End If
Next

With cb("Data").Controls.Item("Transfer &Data To iSeries...")
.Enabled = True
.Visible = True
End With

With cb("Data").Controls.Item("T&ransfer Data From iSeries...")
.Enabled = True
.Visible = True
End With

Set cb = Nothing

End Sub

Private Sub Workbook_Open()

Dim ad As AddIns
Dim found As Boolean
Dim CBar As CommandBars
Dim Mbar As CommandBar
Dim CMbar As CommandBarControl
Dim i As Integer
Dim warn As Dialog
Dim j As Integer

Set CBar = Application.CommandBars

'On Error Resume Next

Set ad = Application.AddIns


'Application.DisplayAlerts = True

'found = False
found = True
Application.DisplayAlerts = True

'For i = ad.Count To 1 Step -1
' If ad(i).name = "cwbtfcai.dll" Then
' found = True
' If ad(i).Installed = False Then
' ad(i).Installed = True
' End If
' Exit For
' End If
'Next

'Set ad = Nothing

If found = False Then
warn = MsgBox("Couldn't find 'iSeries...' or 'Client Access Data Transfer' addin!", vbCritical + vbOKOnly)
Application.AddIns("Simple_Excel_iSeries").Installed = False
Workbooks("Simple_Excel_iSeries.xla").Close
Else
For i = CBar.Count To 1 Step -1
If CBar(i).name = "IBM i Access" Or CBar(i).name = "iSeries Access" Then
Do
If CBar(i).Visible = True Then
Exit Do
End If
Loop
'CBar(i).Visible = False
For j = 1 To CBar(i).Controls.Count
With CBar(i).Controls(j)
' .Enabled = False
End With
Next
With CBar(i).Controls.Add(Type:=msoControlButton, before:=1)
.Caption = "Format BPCS Bill Of Material..."
.OnAction = "Format_BPCS_Excel"
.FaceId = 173
.Visible = True
.Enabled = True
End With
CBar(i).Visible = True
End If
Next
End If

'With CBar("Data").Controls.Item("Transfer &Data To iSeries...")
' .Enabled = False
'End With

'With CBar("Data").Controls.Item("T&ransfer Data From iSeries...")
' .Enabled = False
'End With
Set CBar = Nothing
Application.DisplayAlerts = False

End Sub

最佳答案

我使用加载项,过去曾遇到过同样的问题 - 在加载项列表中选择了加载项,但在 Excel 打开时未加载它。以下方法可能无法解决您的特定问题,但可能对遇到类似问题的其他人有所帮助。我尝试使用 Workbook_Open 代码来加载加载项,但它并没有为我解决问题。

症状:共享驱动器上有一个 Excel 加载项(.xlam.xla)。您将其添加到 Excel 中的加载项列表中。第一次这样做时,加载没有问题。重新启动 Excel 后,尽管加载项在加载项列表中显示为选中状态,但加载项不会加载。

假设:您使用的是 Windows,.xlam.xla 文件位于共享驱动器上的文件夹中,每个用户都可以访问该文件夹。

选项 1(必须在用户计算机上完成):

  • 复制文件夹路径并将其粘贴到 Excel 的受信任位置中。您需要选中允许我的网络上的受信任位置复选框。 (这位于文件 -> 选项 -> 受信任中心 -> 信任中心设置 -> 受信任位置)

  • 接下来,您还必须将此位置添加为 Intranet 上的受信任位置。为此,您必须打开 Internet Explorer,转至“设置”->“Internet 选项”->“安全”->“本地 Intranet”->“站点”->“高级”。您应该在此处粘贴加载项的文件夹路径,添加并保存。 IE 的那部分让我相当惊讶,经过大量谷歌搜索后我花了两天时间才找到答案。

  • 将您的加载项添加到 Excel 列表中。当它提示您将文件复制到您的个人文件夹时,请选择。如果加载项的所有用户都应使用共享云端硬盘中的相同版本的加载项,请确保加载项的用户始终选择“否”。如果已选择加载项,则可能需要检查 Excel 是否实际使用预期副本而不是“个人文件夹”副本。

选项 2(必须在用户计算机上完成):

  • 这更像是一种解决方法 - 您可以为 Excel 提供一个 Startup 文件夹。在“选项”->“高级”->“常规”下,您可以添加文件夹路径,Excel 将打开该文件夹中的所有文件。您可以只提供一个包含加载项的文件夹,但请记住,Excel 将打开指定文件夹中的所有 Excel 文件,这可能并不适合每个用户,因此您可能必须配置单独的启动 文件夹,对于很多用户和多个加载项来说可能会很麻烦,因此它更像是一种解决方法。

同样,这可能无法解决您的问题,但可能对其他人有用。

关于excel - 我的 Excel 加载项添加后不断消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53649352/

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