【发布时间】:2016-02-27 12:10:19
【问题描述】:
所以,我有一个 .xlam 插件,里面有几个 UDF。作为众所周知的absolute path problem 的解决方法,我将我的 UDF 导入到当前工作簿,以便可以从工作簿调用 UDF,而不是使用以下代码从插件调用:
Sub CopyOneModule()
Dim FName As String
On Error GoTo errhandler
With ThisWorkbook
FName = .Path & "\code.txt"
.VBProject.VBComponents("HMFunctions").Export FName
End With
ActiveWorkbook.VBProject.VBComponents.Import FName
MsgBox ("Functions successfully imported")
errhandler:
If Err.Number <> 0 Then
Select Case Err.Number
Case Is = 0:
Case Is = 1004:
MsgBox "Please allow access to Object Model and try again.", vbCritical, "No Access granted"
End Select
End If
它似乎工作正常。所以,我的(可能是愚蠢的)问题是:有没有办法使用导入的 UDF 制作工作簿“看不到”存储在 AddIn 中的相同模块?需要避免以下可能非常混乱的情况:
提前谢谢你。
【问题讨论】:
-
你不能卸载或禁用加载项吗?否则你可以在导入之前在 txt 文件中进行文本替换吗?
-
例如,加载项可以将 udf 标记为 Private,您可以在 txt 文件中将其删除
-
非常感谢!我在我的虚拟文本文件中做了简单的替换,现在一切都按我想要的方式工作了。
标签: excel vba excel-addins