首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VBA复制模块后的MacOS Excel内部误差

VBA复制模块后的MacOS Excel内部误差
EN

Stack Overflow用户
提问于 2019-09-16 13:13:35
回答 1查看 235关注 0票数 1

我需要通过编程将一个模块( Tim https://github.com/timhall/VBA-Dictionary中的字典)从一个工作簿复制到另一个工作簿。为此,我使用了以下代码:

代码语言:javascript
复制
Sub CopyMacrosToExistingWorkbook(SourceWB As Workbook, strModuleName As String, TargetWB As Workbook)
    Dim SourceVBProject As VBIDE.VBProject, DestinationVBProject As VBIDE.VBProject
    Set SourceVBProject = SourceWB.VBProject
    Set DestinationVBProject = TargetWB.VBProject

    Dim SourceModule As VBIDE.CodeModule, DestinationModule As VBIDE.VBComponent
    Set SourceModule = SourceVBProject.VBComponents(strModuleName).CodeModule

    Set DestinationModule = DestinationVBProject.VBComponents.Add(SourceModule.Parent.Type)
    DestinationModule.Name = strModuleName

    With SourceModule
        DestinationModule.CodeModule.AddFromString .Lines(1, .CountOfLines)
    End With
End Sub

在Windows上,一切都进行得很顺利,但在Mac (Office365Version16.29)上,我将导入这个字典模块的文件不起作用。它无法保存,它将这个内部错误写给我:

有趣的是,只要将这个损坏的文件复制到windows,打开它,保存并返回给Mac就足够了。但对我来说,这还不够。

我发现,如果我从字典类模块中删除这段代码,“内部错误”将不会显示,但是如果没有这段代码,我就无法使用该模块:

代码语言:javascript
复制
Public Enum CompareMethod
    BinaryCompare = VBA.vbBinaryCompare
    TextCompare = VBA.vbTextCompare
    DatabaseCompare = VBA.vbDatabaseCompare
End Enum

所以我想,,这个Enum类有什么问题。有什么问题,哪里有问题?我找不到它。谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2019-09-17 00:57:36

这是一个很长的机会,但你试过使用Excel 16.28吗?

我有几个宏自16.12以来运行良好,但是在升级到16.29之后,我遇到了一些错误,我不知道代码有什么问题。

我又恢复到16.28,一切都好起来了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57957666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档