Чому, по суті, Excel не може обробляти 2 файли з однаковим ім’ям? [зачинено]


90

Це мене турбує протягом усього ІТ-життя - я вже понад 20 років працював із 7 різними версіями Excel, з великими змінами в кожній версії, що змушувало шукати, де в новій версії приховані старі функції, - але одна річ залишається твердою як камінь: неможливість відкрити два файли з однаковим іменем.

На жаль, Excel не може одночасно відкрити дві книги з однаковою назвою.

Тож я справді прагну до розуміння тут, чому це все ще відбувається в Excel 2013, якого навіть не потрібно було реалізовувати в Excel 95? Чи існує якась технічна причина або причина проектування в структурах даних Excel або внутрішніх обробках, що він не може обробляти два об'єкти Файлу з різними шляхами, але однаковою назвою файлу? Я не хочу, щоб Microsoft тут бився, я просто хочу зрозуміти причину цього.


3
Проголосував за перехід до Суперкористувача. Ніяк не пов'язане з програмуванням.
brettdj

1
@brettdj: Я сам думав про те саме, але оскільки це не питання використання додатка, а технічна причина, яка стоїть за цим, а це, в свою чергу, стосується реалізації, я б сказав, що це теж вписується тут.
Олександр Рюль

6
Жодне інше програмне забезпечення, яке я використовую, не має цієї проблеми. "На жаль, Mozilla Firefox не може одночасно відкрити два файли з іменем index.html."
Полковник Панік,

@ColonelPanic Як би ви вирішили проблему, через яку Microsoft застосувала це обмеження?
GSerg

Відповіді:


76

Microsoft говорить , тут це відбувається з - за невизначеності розрахунку з пов'язаними клітинами.

Якщо у вас була комірка = '[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" подвійним клацанням: Et voilà!

Тепер дві (однойменні) книги відкриті в Excel. Але якщо ви заглянете туди "Workbook.Name" -Властивості, це стає ще більш дивним, оскільки внутрішньо вони обидва перейменовані на "Test (1) .xlsx".

Це тому, що Excel дійсно потребує спеціальних символів "[]" для своїх формул.

Тому їм (як правило) заборонено використовувати назву книги, але книгу, яка називається "Test [1] .xlsx", можна відкрити в будь-якому випадку, що для мене є помилкою !

Чому? Тому що ви справді потрапляєте в проблеми як програміст, якщо хочете звернутися до обох цих книг за допомогою "Application.Workbooks [ім’я]", яке не дає збою, але завжди забезпечує першу, знайдену під цим ім’ям!

Йорг


цікава відповідь @jreichert, чи можете ви пояснити "Workbook.Name" -Властивості? Чи слід запускати це в командному рядку чи щось інше?
Ашріт,

1
@Ashrith: Перейдіть до безпосереднього вікна Excel VBA (ALT + F11, CTRL + G). Використання: Див. Excelcampus.com/vba/vba-immediate-window-excel Потім введіть:? Application.Workbooks (1) .Name and hit return ...
jreichert

9

Для всіх людей, які опинились тут, оскільки вони хотіли б одночасно відкрити два файли Excel з однаковим ім’ям:

Незважаючи на те, що сам Excel не дозволяє цього робити через (безумовно сумнівні) обставини, викладені Бальдріком у своїй відповіді , існують принаймні обхідні шляхи, які дозволяють одночасно відкривати кілька файлів xls / xlsx з однаковим ім'ям в окремих екземплярах Excel / процеси.

Обхідні шляхи пояснюються в цій темі на форумах How-To Geek .

Існує навіть своєрідне "вбудоване" виправлення за допомогою налаштування Ignore other applications that use Dynamic Data Exchange (DDE), яке працює для мене, але призводить до помилок при закритті Excel, а потім повторній спробі відкрити файл, двічі клацнувши на ньому.

Мені довелося піти на виправлення реєстру, яке працює нормально. ПРИМІТИ , ХОЧЕ, що цей обхідний спосіб, застосований, запобіжить перехресне посилання на комірки між ВСІМ відкритими таблицями Excel (також тими, що мають різні імена), оскільки окремі екземпляри Excel не знають одне про одне (принаймні згідно з тестами, які я щойно зробив).

Ви можете замість цього вибрати виправлення, яке додає новий пункт контекстного меню Open Separateдо Провідника, і використовувати його лише в тому випадку, якщо ви насправді хочете відкрити два файли з однаковим ім'ям одночасно.


Дуже хороше посилання, дякую - насправді я вже спробував це з якогось іншого джерела, головним чином відкрившись в окремому екземплярі, але відступив від нього знову, але, думаю, я б вибрав пункт контекстного меню, щоб відкрити його окремо, якщо це потрібно.
Олександр Рюль,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.