Por que diabos o Excel não consegue lidar com 2 arquivos com o mesmo nome? [fechadas]

90

Isso me incomoda por toda a minha vida de TI - trabalhei com 7 versões diferentes do Excel por mais de 20 anos, com grandes mudanças em cada versão, me forçando a pesquisar onde os recursos antigos estão escondidos na nova versão - mas uma única coisa permanece sólida como pedra: a impossibilidade de abrir dois arquivos com o mesmo nome.

Desculpe, o Excel não pode abrir duas pastas de trabalho com o mesmo nome ao mesmo tempo.

Portanto, estou realmente ansioso por um insight aqui, por que isso ainda acontece no Excel 2013, que nem foi necessário implementar no Excel 95? Existe alguma razão técnica ou de design nas estruturas de dados do Excel ou nos processamentos internos para que ele não consiga lidar com dois objetos File com caminhos diferentes, mas com o mesmo nome de arquivo? Não quero nenhuma crítica à Microsoft aqui, só quero entender a razão por trás disso.

Alexander Rühl
fonte
3
Votado para migrar para Superusuário. Não relacionado de forma alguma à programação.
brettdj
1
@brettdj: Eu mesmo pensei sobre o mesmo, mas como não é uma questão de uso do aplicativo, mas sobre o motivo técnico por trás disso, que por sua vez se refere à implementação, eu diria que se encaixa aqui também.
Alexander Rühl
6
Nenhum outro software que eu uso tem esse problema. "Desculpe, o Mozilla Firefox não pode abrir dois arquivos chamados index.html ao mesmo tempo."
Coronel Panic
@ColonelPanic Como você resolveria o problema a que a Microsoft colocou essa restrição?
GSerg

Respostas:

76

A Microsoft diz aqui que é devido à ambigüidade de cálculo com células vinculadas.

Se você tinha uma célula = '[Livro1.xlsx] Folha1'! $ G $ 33 e tinha dois livros chamados 'Livro1' abertos, não há como saber a qual deles você se refere.

Essa maneira de se referir a pastas de trabalho vinculadas por nome nas células persiste em todas as versões e duvido que vá mudar.

Baldrick
fonte
41
Vamos agora pensar. Qual percentual de usuários que encontram aquela restrição frustrante de abrir dois arquivos com o mesmo nome, realmente tinham esse tipo de link em um dos documentos? Meu palpite é 0,001%. Então, por causa de 0,001% dos usuários, 99,9999% deveriam encontrar a solução alternativa, renomeando arquivos, etc. Não é estúpido? Por que não permitir abrir esses arquivos e dar um erro SOMENTE se a referência como essa realmente existir (ou simplesmente não calcular tais células e dar um erro quando o usuário clicar nela).
Mike Keskinov,
10

SIM VOCÊ PODE!!! (Mas acho que é um bug do Excel)


Experimente isto:

  1. Na sua área de trabalho, clique com o botão direito e escolha "Novo" => "planilha do Microsoft Excel".
  2. Renomeie o arquivo para "Teste [1] .xlsx" (o nome é importante!)
  3. Agora crie uma pasta now na área de trabalho e cole uma cópia do arquivo "Test [1] .xlsx" nela
  4. Abra "Test [1] .xlsx" com um clique duplo: Et voilà!

Agora as duas pastas de trabalho (com o mesmo nome) estão abertas no Excel. Mas se você olhar para as propriedades "Workbook.Name" -Propriedades, fica ainda mais estranho, porque internamente ambos são renomeados para "Test (1) .xlsx".

Isso ocorre porque o Excel precisa dos caracteres especiais "[]" internamente para suas fórmulas.

Portanto, eles (normalmente) não são permitidos para um nome de pasta de trabalho, mas uma pasta de trabalho chamada "Teste [1] .xlsx" externamente pode ser aberta de qualquer maneira, o que é um bug para mim!

Por quê? Porque você realmente terá problemas como programador se quiser lidar com essas duas pastas de trabalho usando "Application.Workbooks [nome]", que não falha, mas sempre entrega a primeira encontrada com esse nome!

Jörg

Jreichert
fonte
resposta interessante @jreichert, você pode explicar a peça "Workbook.Name" -Properties? Devo executar isso no prompt de comando ou algo assim?
Ashrith
1
@Ashrith: Vá para a janela imediata do Excel VBA (ALT + F11, CTRL + G). Uso: Consulte excelcampus.com/vba/vba-immediate-window-excel Em seguida, digite:? Application.Workbooks (1) .Nome e pressione retornar ...
jreichert
9

Para todas as pessoas que acabam aqui, porque gostariam de abrir dois arquivos Excel com o mesmo nome ao mesmo tempo:

Embora o próprio Excel não permita isso devido a circunstâncias (certamente questionáveis) declaradas por Baldrick em sua resposta , pelo menos existem soluções alternativas que permitem abrir vários arquivos xls / xlsx com o mesmo nome ao mesmo tempo em instâncias separadas do Excel / processos.

As soluções alternativas são explicadas neste tópico nos fóruns How-To Geek .

Existe até uma espécie de correção "embutida" com a ajuda da configuração Ignore other applications that use Dynamic Data Exchange (DDE), que funciona para mim, mas leva a erros ao fechar o Excel e tentar abrir um arquivo novamente clicando duas vezes nele.

Eu tive que ir para a correção do registro, que funciona bem. OBSERVAÇÃO AINDA que esta solução alternativa, uma vez aplicada, impedirá a referência cruzada de células entre TODAS as tabelas do Excel abertas (também aquelas com nomes diferentes), uma vez que as instâncias separadas do Excel não têm conhecimento umas das outras (pelo menos de acordo com os testes que acabei de fazer).

Em vez disso, você pode escolher a correção que adiciona um novo item de menu de contexto Open Separateao Explorer e usá-lo apenas se de fato quiser abrir dois arquivos com o mesmo nome ao mesmo tempo.

Daniel K
fonte
Link muito bom, obrigado - na verdade, eu já tentei isso de alguma outra fonte, principalmente abrindo em uma instância separada, mas desisti novamente, mas acho que deveria ir para o item do menu de contexto para abri-lo separadamente, se necessário.
Alexander Rühl