Tại sao Excel không thể xử lý 2 tệp có cùng tên? [đóng cửa]


90

Điều này làm phiền tôi trong suốt cuộc đời CNTT của mình - tôi đã làm việc với 7 phiên bản Excel khác nhau hơn 20 năm nay, với những thay đổi lớn trong mỗi phiên bản, buộc tôi phải tìm kiếm nơi các tính năng cũ bị ẩn trong phiên bản mới - nhưng một điều duy nhất vẫn vững chắc như một tảng đá: khuyết tật để mở hai tệp có cùng tên.

Rất tiếc, Excel không thể mở hai sổ làm việc có cùng tên cùng một lúc.

Vì vậy, tôi thực sự mong muốn có một cái nhìn sâu sắc ở đây, tại sao điều này vẫn xảy ra trong Excel 2013, mà thậm chí không cần thiết để triển khai trong Excel 95? Có bất kỳ lý do kỹ thuật hoặc thiết kế nào trong cấu trúc dữ liệu hoặc quy trình nội bộ của Excel khiến nó không thể xử lý hai đối tượng Tệp có đường dẫn khác nhau nhưng có cùng tên tệp không? Tôi không muốn không có Microsoft đánh bại ở đây, tôi chỉ muốn hiểu lý do đằng sau nó.


3
Đã bỏ phiếu để chuyển sang Super User. Không liên quan đến lập trình theo bất kỳ cách nào.
brettdj

1
@brettdj: Bản thân tôi cũng nghĩ về điều tương tự, nhưng vì nó không phải là câu hỏi sử dụng ứng dụng, mà là về lý do kỹ thuật đằng sau nó, do đó đề cập đến việc triển khai, tôi cũng sẽ nói rằng nó cũng phù hợp ở đây.
Alexander Rühl

6
Không có phần mềm nào khác mà tôi sử dụng có vấn đề này. "Rất tiếc, Mozilla Firefox không thể mở hai tệp có tên index.html cùng một lúc."
Colonel Panic

@ColonelPanic Bạn sẽ giải quyết vấn đề như thế nào do Microsoft đưa ra hạn chế này?
GSerg

Câu trả lời:


75

Microsoft nói ở đây là do tính toán không rõ ràng với các ô được liên kết.

Nếu bạn có một ô = '[Book1.xlsx] Sheet1'! $ G $ 33 và bạn có hai cuốn sách có tên 'Book1' đang mở, không có cách nào để biết bạn muốn nói đến cuốn nào.

Cách đề cập đến các sổ làm việc được liên kết theo tên trong các ô vẫn tồn tại qua tất cả các phiên bản và tôi rất nghi ngờ rằng nó sẽ thay đổi.


41
Bây giờ chúng ta hãy suy nghĩ. Phần trăm người dùng gặp phải hạn chế khó chịu khi mở hai tệp có cùng tên, thực sự có loại liên kết đó trong một trong các tài liệu? Dự đoán của tôi là 0,001%. Vì vậy, vì 0,001% người dùng, 99,9999% nên tìm giải pháp thay thế, đổi tên tệp, v.v. Thật ngu ngốc phải không? Tại sao không cho phép mở các tệp đó và chỉ đưa ra lỗi nếu tham chiếu như vậy thực sự tồn tại (hoặc đơn giản là không tính toán các ô như vậy và đưa ra lỗi khi người dùng nhấp vào nó).
Mike Keskinov

10

BẠN CÓ THỂ !!! (Nhưng tôi nghĩ đây là một lỗi Excel)


Thử đi:

  1. Trên Màn hình của bạn nhấp chuột phải và chọn "Mới" => "Trang tính Microsoft Excel".
  2. Đổi tên tệp thành "Test [1] .xlsx" (tên rất quan trọng!)
  3. Bây giờ, hãy tạo một thư mục now trên màn hình và dán một bản sao của tệp "Kiểm tra [1] .xlsx" vào đó
  4. Mở cả hai "Test [1] .xlsx" bằng cách nhấp đúp: Et voilà!

Bây giờ hai sổ làm việc (cùng tên) đang mở trong Excel. Nhưng nếu bạn nhìn vào đó "Workbook.Name" -Properties, nó thậm chí còn lạ hơn, bởi vì bên trong cả hai đều được đổi tên thành "Test (1) .xlsx".

Đó là bởi vì Excel cần các ký tự đặc biệt "[]" cho các công thức của nó.

Vì vậy, họ (thông thường) không được phép đặt tên sổ làm việc, nhưng một sổ làm việc có tên "Test [1] .xlsx" bên ngoài vẫn có thể mở được, tôi có lỗi gì !

Tại sao? Bởi vì bạn thực sự gặp rắc rối với tư cách là một lập trình viên nếu bạn muốn giải quyết cả hai sổ làm việc này bằng cách sử dụng "Application.Workbooks [name]", điều này không thất bại, nhưng luôn cung cấp sổ đầu tiên được tìm thấy bởi tên này!

Jörg


câu trả lời thú vị @jreichert, bạn có thể vui lòng giải thích phần "Workbook.Name" -Properties được không? Tôi có nên chạy nó trong dấu nhắc lệnh hay gì đó không?
Ashrith

1
@Ashrith: Chuyển đến cửa sổ excel VBA ngay lập tức (ALT + F11, CTRL + G). Cách sử dụng: Xem excelcampus.com/vba/vba-im ngay-window-excel Sau đó nhập:? Application.Workbooks (1) .Name và nhấn return ...
jreichert

9

Đối với tất cả những người kết thúc ở đây, vì họ muốn mở hai tệp Excel có cùng tên cùng một lúc:

Mặc dù bản thân Excel không cho phép làm như vậy do các trường hợp (chắc chắn có vấn đề) được Baldrick nêu trong câu trả lời của mình , ít nhất vẫn tồn tại các cách giải quyết cho phép mở nhiều tệp xls / xlsx có cùng tên trong các phiên bản Excel riêng biệt / quy trình.

Các cách giải quyết được giải thích trong chủ đề này trên các diễn đàn Hướng dẫn cách làm .

Thậm chí còn có một loại bản sửa lỗi "tích hợp sẵn" với sự trợ giúp của cài đặt Ignore other applications that use Dynamic Data Exchange (DDE) , phù hợp với tôi, nhưng dẫn đến lỗi khi đóng Excel và sau đó cố gắng mở lại tệp bằng cách nhấp đúp vào tệp đó.

Tôi đã phải đi sửa sổ đăng ký, nó hoạt động tốt. LƯU Ý NGHĨ rằng cách giải quyết này, một khi được áp dụng, sẽ ngăn các ô tham chiếu chéo giữa TẤT CẢ các bảng Excel đã mở (cũng như những bảng có tên khác nhau), vì các phiên bản Excel riêng biệt không nhận biết nhau (ít nhất là theo các thử nghiệm tôi vừa thực hiện).

Thay vào đó, bạn có thể muốn chọn bản sửa lỗi thêm một mục menu ngữ cảnh mới Open Separatevào Explorer và chỉ sử dụng nó nếu thực tế bạn muốn mở hai tệp có cùng tên cùng một lúc.


Liên kết rất tốt, cảm ơn - trên thực tế, tôi đã thử nó từ một số nguồn khác với chủ yếu mở trong một phiên bản riêng biệt, nhưng lại rút lui khỏi nó, nhưng tôi nghĩ tôi sẽ sử dụng mục menu ngữ cảnh để mở nó riêng nếu cần.
Alexander Rühl
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.