【问题标题】:Excel VBA SVN Client / IntegrationExcel VBA SVN 客户端/集成
【发布时间】:2010-09-20 16:28:28
【问题描述】:

任何人都可以推荐一个 SVN 客户端以在 Excel 中使用 VBA(仅限代码模块)。理想情况下,我还希望 SVN 在提交更改之前忽略大小写,以避免存储库中的过度流失(VBA 有一个令人讨厌的习惯,即在整个项目中更改变量的大小写)。

【问题讨论】:

  • 我已经为 Excel 制作了一个 COM 加载项,它在 VBA 编辑器中放置了一个工具栏,该工具栏通过它的 shell 命令与 TSVN 集成。我很乐意按原样发送给您。代码都是c#和vb.net。您有任何问题都可以问我,电子邮件在“网站”中
  • 干杯 - 我给你发了一封邮件 Jason 目前我们正在使用 ToirtoiseSVN 和 Beyond Compare,但这意味着我们必须首先导出组件,这有点痛苦。我只是想知道其他人是否有更优雅的解决方案。
  • 如果您选择不导出您的组件,我的 VbaDiff 工具可以使差异修订变得更加容易。它与 TortoiseSVN 很好地集成。您可以在我的个人资料中找到该链接。

标签: svn excel version-control vba diff


【解决方案1】:

【讨论】:

  • 我想知道为什么尽管这是唯一准确的答案,但为什么没有投票赞成。
【解决方案2】:

TortoiseSVN 与 Windows 文件资源管理器完美集成,并允许集成外部差异工具(如 Beyond Compare

Beyond Compare 有一个用于 Visual Basic 代码的特定插件,它似乎忽略了“不重要文本”的大小写,表示任何 在引号中的内容。

但是,我认为这不会解决 SVN 流失问题。我不相信 SVN 使用外部 diff 程序来确定文件在提交之前是否已更改,并且我不知道有任何方法可以覆盖此行为。

【讨论】:

  • 我发现的一个解决方法是在 Beyond Compare 中设置一个工作区,将 .svn\text-base 文件夹与工作副本文件夹进行比较。这让我可以对规则进行快速比较,这样我就可以在提交之前检查其他差异之前还原仅区分大小写的更改。
  • TortoiseSVN 用于文件浏览器,问题是关于 Excel 中的 VBA
【解决方案3】:

【讨论】:

  • 它们都没有对 VBA 的特殊支持,是吗?
【解决方案4】:

哇,我对 Excel VBA SVN 的搜索让我找到了一个 9 年前的帖子。所以我想我会更新。

上面的 msofficesvn(移至 sourceforge/github)是我找到的最好的 svn 选项,但 2 年内没有更新,它只管理整个文档。 OP 和我自己正在寻找对单个 bas 文件的控制。

我最近开始使用Rubberduck,它是一个 Excel VBA git 接口,用于管理从您的 git 存储库导出/导入的棘手问题。它目前受支持,虽然有点棘手,但可以工作。

我的组织不仅强制使用 Windows,它对 git 有一定的抵抗力,而且还在使用 SVN,但我认为没有 Excel VBA SVN 工具,所以会悄悄地坚持​​使用 Rubberduck。我希望这对其他人有帮助。

更新: 随着我在 Excel VBA 上花费了更多时间,我意识到您并不绝对需要 Rubberduck。你可以只用 git for Windows 就可以了。但是,您需要自己仔细管理导出/删除/导入。这可能更可取,因为我发现如果您在非常基本的添加和提交功能之外使用 Rubberduck 做任何事情,那么您的模块会发生非常不愉快的事情。尝试签出一个新分支会让你回到最初的提交并覆盖你的所有模块。首先关闭 Excel,执行 git 操作,然后重新打开 Excel 并在 Rubberduck 中重新打开您的存储库。

如果您确实想管理自己但需要菜单和表单,则可以将 TortiseGITTortiseSVN 集成到 Windows 资源管理器中。

【讨论】:

    猜你喜欢
    • 2011-01-13
    • 1970-01-01
    • 2015-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多