excel - 运行时错误 50012 - 对象 "Export"的方法 'VBComponent' 失败错误

标签 excel vba

我有一段代码,用于将模块和用户表单从一个工作簿传输到在多个系统上运行的另一个工作簿。但是,我有 2 个用户失败并出现错误

“运行时错误 '50012' - 对象 'VBComponent' 的方法 'Export' 失败”

代码如下:

Public Sub TransferModule2()
Const MODULE_NAME    As String = "Module5"         ' Name of the module to transfer
Const UserForm As String = "UserForm1"
Dim ID As String
ID = Environ("USERNAME")

Dim TEMPFILE As String
TEMPFILE = "C:/Users/" & ID & "/Desktop/Modul.bas" ' temp textfile
TEMPFILE2 = "UserForm.frm"
   
   ' On Error Resume Next
   '**Create new workbook
   
   '** export the module to a textfile
   Workbooks(Module4.GetBook3).VBProject.VBComponents(MODULE_NAME).Export fileName:=TEMPFILE
  
   'import the module to the new workbook
   Workbooks(TemplateBook).VBProject.VBComponents.Import fileName:=TEMPFILE
   
   Workbooks(Module4.GetBook3).VBProject.VBComponents(UserForm).Export fileName:=TEMPFILE2
    Workbooks(TemplateBook).VBProject.VBComponents.Import fileName:=TEMPFILE2
  
   'kill the textfile
   Kill TEMPFILE
   Kill TEMPFILE2
End Sub

第一个导出代码发生错误。我在这些计算机上启用了 Visual Basic 对象项目模式,但它仍然失败,但在任何其他计算机上都没有问题。这些计算机与我的计算机在同一时间进行成像,并且该文件位于单个位置,因此没有代码修改。我们运行的是完全相同的 Office 版本,并且具有完全相同的更新。

什么可能与此导出对象语句发生冲突,而不是引用库或版本控制问题?

最佳答案

事实证明,这两个用户的登录 ID 与其桌面所在位置不同。我不确定 IT 为何这样做,但事实证明这是 TEMPFILE 路径中的位置问题。我不知道为什么我没有发现它让我在用户表单传输上使用默认路径,就好像我更深入地研究过一样,我会发现这就是解决方案。

关于excel - 运行时错误 50012 - 对象 "Export"的方法 'VBComponent' 失败错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34753140/

相关文章:

c# - 在 VSTO 中获取 Excel 工作簿的哈希码以启用基于状态的按钮

excel - 将 HTML 导出到具有不同结果的文本文件

excel - 更新 Excel 加载项的过程?

sql-server - 导入 excel 日期列并馈送到渐变维度时出现 SSIS 错误

vba - Excel 2013 VBA 清除事件过滤器

excel - 将 32 位 VBA 函数转换为 64 位 VBA 函数时出现问题

performance - 提高 FOR 循环的性能

excel - 当我已经使用 Workbooks.OpenText 打开它时关闭文本文件

excel - 逻辑运算符是否有文本限定符?

excel - 在运行子程序之前从子程序调用按钮单击事件而不知道按钮的名称