为什么地球上Excel无法处理两个同名文件?[关闭]


90

这困扰了我整个IT生涯-过去20年来,我使用了7个不同版本的Excel,每个版本都有很大的变化,迫使我搜索新版本中隐藏了旧功能的地方-但只有一件事情保持稳定坚如磐石:无法打开两个同名文件。

抱歉,Excel无法同时打开两个具有相同名称的工作簿。

因此,我真的很想在这里获得见解,为什么在Excel 2013中仍然如此,甚至在Excel 95中也不需要实现?Excel数据结构或内部处理过程中是否有任何技术或设计原因无法处理两个路径不同但文件名相同的File对象?我不想在这里没有微软的抨击,我只是想了解它背后的原因。


3
投票迁移到超级用户。与编程无关。
brettdj

1
@brettdj:我本人也曾考虑过同样的问题,但由于这不是应用程序使用问题,而是有关其背后的技术原因的问题,而后者又指的是实现,因此我也说它确实适用于此。
亚历山大·吕尔

6
我使用的其他软件都没有此问题。“很抱歉,Mozilla Firefox无法同时打开两个名为index.html的文件。”
上校恐慌2015年

@ColonelPanic您将如何解决由于Microsoft施加此限制而导致的问题
Gserg 2015年

Answers:


75

微软表示这是由于链接单元格的计算含糊不清。

如果您有一个单元格='[Book1.xlsx] Sheet1'!$ G $ 33,并且有两本名为'Book1'的书已经打开,则无法分辨您的意思。

这种在单元格中按名称引用链接的工作簿的方式在所有版本中都存在,我怀疑它是否会改变。


41
现在考虑。哪个百分比的用户遇到打开相同名称的两个文件这一令人沮丧的限制,实际上在其中一个文档中具有这种链接?我的猜测是0.001%。因此,由于有0.001%的用户,因此99.9999%的用户应该找到解决方法,重命名文件等。这不是很愚蠢吗?为什么只是不允许打开该文件并仅在该引用实际存在的情况下给出错误(或者简单地不计算此类单元格并在用户单击该文件时给出错误),为什么?
Mike Keskinov

10

是的你可以!!!(但是我认为这是一个Excel错误)


试试这个:

  1. 在桌面上单击鼠标右键,然后选择“新建” =>“ Microsoft Excel工作表”。
  2. 将文件重命名为“ Test [1] .xlsx”(名称很重要!)
  3. 现在在桌面上创建一个now文件夹,并将文件“ Test [1] .xlsx”的副本粘贴到其中。
  4. 双击打开两个“ Test [1] .xlsx”:等等!

现在,两个(同名)工作簿已在Excel中打开。但是,如果您查看“ Workbook.Name” -Properties,它会变得更加奇怪,因为在内部它们都被重命名为“ Test(1).xlsx”。

这是因为Excel的公式内部确实需要特殊字符“ []”。

因此,(通常)不允许使用工作簿名称,但是无论如何都可以从外部打开名为“ Test [1] .xlsx”的工作簿,这对我来说是个错误

为什么?因为如果您想使用“ Application.Workbooks [name]”来寻址这两个工作簿,那么您确实会遇到程序员的麻烦,这不会失败,但始终会提供以此名称找到的第一个工作簿!

约尔格


有趣的答案@jreichert,能否请您解释“ Workbook.Name”-属性部分?我应该在命令提示符下运行该程序吗?
Ashrith

1
@Ashrith:转到excel VBA立即窗口(ALT + F11,CTRL + G)。用法:请参阅excelcampus.com/vba/vba-immediate-window-excel,然后键入:?Application.Workbooks(1)。名称并按回车...
jreichert

9

对于所有在这里工作的人,因为他们想同时打开两个具有相同名称的Excel文件:

即使Excel本身由于Baldrick在回答中指出的情况(可能存在问题)而不允许这样做,但至少存在一些变通方法,这些解决方法允许在单独的Excel实例中同时打开多个具有相同名称的xls / xlsx文件/进程。

解决方法在How-To Geek论坛上的该线程中进行了说明。

借助set甚至有一种“内置”修复程序,该修复程序Ignore other applications that use Dynamic Data Exchange (DDE)对我有用,但是在关闭Excel,然后尝试通过双击再次打开文件时导致错误。

我必须去注册表修复程序,它工作正常。请注意,此解决方法一旦应用,将防止所有打开的Excel表(也包括具有不同名称的表)之间的交叉引用单元格,因为单独的Excel实例彼此之间不了解(至少根据我刚刚进行的测试)。

相反,您可能想要选择将新的上下文菜单项添加Open Separate到资源管理器的修复程序,并且仅当您实际上想同时打开两个具有相同名称的文件时才使用它。


很好的链接,谢谢-实际上,我已经从其他来源尝试过,主要是在单独的实例中打开,但是又撤回了它,但是我认为我需要上下文菜单项在需要时单独打开它。
亚历山大·吕尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.