เหตุใด Excel จึงไม่สามารถจัดการ 2 ไฟล์ที่มีชื่อเดียวกันบนโลกนี้ได้ [ปิด]


90

สิ่งนี้รบกวนจิตใจฉันมาตลอดชีวิต - ฉันทำงานกับ Excel 7 เวอร์ชันที่แตกต่างกันกว่า 20 ปีแล้วโดยมีการเปลี่ยนแปลงครั้งใหญ่ในแต่ละเวอร์ชันบังคับให้ฉันต้องค้นหาว่าคุณลักษณะเก่า ๆ ซ่อนอยู่ในเวอร์ชันใหม่ - แต่สิ่งหนึ่งที่ยังคงมั่นคง เหมือนหิน: ความพิการในการเปิดไฟล์สองไฟล์ที่มีชื่อเดียวกัน

ขออภัย Excel ไม่สามารถเปิดสมุดงานสองเล่มที่มีชื่อเดียวกันพร้อมกันได้

ดังนั้นฉันจึงอยากทราบข้อมูลเชิงลึกที่นี่ทำไมถึงยังคงเป็นเช่นนั้นใน Excel 2013 ซึ่งไม่จำเป็นต้องใช้ใน Excel 95 มีเหตุผลทางเทคนิคหรือการออกแบบภายในโครงสร้างข้อมูล Excel หรือการประมวลผลภายในที่ไม่สามารถจัดการกับอ็อบเจ็กต์ไฟล์สองไฟล์ที่มีพา ธ ต่างกัน แต่ชื่อไฟล์เดียวกันได้หรือไม่? ฉันไม่ต้องการให้ Microsoft ทุบตีที่นี่ฉันแค่อยากเข้าใจเหตุผลเบื้องหลัง


3
โหวตให้ย้ายไปเป็น Super User ไม่เกี่ยวข้องกับการเขียนโปรแกรม แต่อย่างใด
brettdj

1
@brettdj: ฉันคิดเหมือนกัน แต่เนื่องจากไม่ใช่คำถามการใช้งานแอปพลิเคชัน แต่เกี่ยวกับเหตุผลทางเทคนิคที่อยู่เบื้องหลังซึ่งหมายถึงการนำไปใช้งานฉันจะบอกว่ามันเหมาะสมกับที่นี่เช่นกัน
Alexander Rühl

6
ไม่มีซอฟต์แวร์อื่นที่ฉันใช้มีปัญหานี้ "ขออภัย Mozilla Firefox ไม่สามารถเปิดไฟล์สองไฟล์ชื่อ index.html พร้อมกันได้"
พันเอก Panic

@ColonelPanic คุณจะแก้ปัญหาได้อย่างไรเนื่องจาก Microsoft วางข้อ จำกัด นี้ไว้
GSerg

คำตอบ:


76

Microsoft บอกว่านี่เป็นเพราะความไม่ชัดเจนในการคำนวณกับเซลล์ที่เชื่อมโยง

หากคุณมีเซลล์ = '[Book1.xlsx] Sheet1'! $ G $ 33 และคุณมีหนังสือสองเล่มชื่อ 'Book1' เปิดอยู่จะไม่มีทางบอกได้ว่าคุณหมายถึงเล่มไหน

วิธีอ้างถึงสมุดงานที่เชื่อมโยงตามชื่อในเซลล์นี้ยังคงมีอยู่ในทุกเวอร์ชันและฉันสงสัยว่ามันจะเปลี่ยนไปมาก


41
ลองคิดดู ร้อยละของผู้ใช้ที่พบข้อ จำกัด ที่น่าหงุดหงิดในการเปิดไฟล์สองไฟล์ที่มีชื่อเดียวกันมีลิงก์ประเภทนั้นอยู่ในเอกสารใดเอกสารหนึ่ง การคาดเดาของฉันคือ 0.001% ดังนั้นเนื่องจากผู้ใช้ 0.001% 99.9999% ควรหาวิธีแก้ปัญหาเปลี่ยนชื่อไฟล์ ฯลฯ มันไม่โง่เหรอ? เหตุใดจึงไม่อนุญาตให้เปิดไฟล์นั้นและให้ข้อผิดพลาดเฉพาะในกรณีที่การอ้างอิงเช่นนั้นมีอยู่จริง (หรืออย่างง่ายไม่คำนวณเซลล์ดังกล่าวและให้ข้อผิดพลาดเมื่อผู้ใช้คลิก)
Mike Keskinov

10

ใช่คุณสามารถ!!! (แต่ฉันคิดว่านี่เป็นข้อบกพร่องของ Excel)


ลองสิ่งนี้:

  1. บนเดสก์ท็อปของคุณให้คลิกขวาแล้วเลือก "New" => "Microsoft Excel worksheet"
  2. เปลี่ยนชื่อไฟล์เป็น "Test [1] .xlsx" (ชื่อนี้สำคัญ!)
  3. ตอนนี้สร้างโฟลเดอร์ now บนเดสก์ท็อปและวางสำเนาของไฟล์ "Test [1] .xlsx" ลงไป
  4. เปิด "Test [1] .xlsx" ด้วยการดับเบิลคลิก: Et voilà!

ตอนนี้สมุดงานทั้งสอง (ชื่อเดียวกัน) เปิดอยู่ใน Excel แต่ถ้าคุณดูที่นั่น "Workbook.Name" -Properties มันจะแปลกไปกว่าเดิมเพราะทั้งสองเปลี่ยนชื่อเป็น "Test (1) .xlsx"

นั่นเป็นเพราะ Excel ต้องการอักขระพิเศษ "[]" ภายในสำหรับสูตร

ดังนั้น (โดยปกติ) จึงไม่อนุญาตให้ใช้ชื่อสมุดงาน แต่สามารถเปิดสมุดงานที่ชื่อ "Test [1] .xlsx" จากภายนอกได้อยู่ดีอะไรคือจุดบกพร่องสำหรับฉัน!

ทำไม? เนื่องจากคุณมีปัญหาในฐานะโปรแกรมเมอร์จริงๆหากคุณต้องการจัดการกับเวิร์กบุ๊กทั้งสองนี้โดยใช้ "Application.Workbooks [name]" ซึ่งไม่ล้มเหลว แต่จะส่งมอบสิ่งแรกที่พบในชื่อนี้เสมอ!

Jörg


คำตอบที่น่าสนใจ @jreichert คุณช่วยอธิบาย "Workbook.Name" - คุณสมบัติได้ไหม ฉันควรเรียกใช้ในพรอมต์คำสั่งหรืออะไร?
Ashrith

1
@Aherith: ไปที่หน้าต่าง excel VBA ทันที (ALT + F11, CTRL + G) การใช้งาน: ดูexcelcampus.com/vba/vba-immediate-window-excelจากนั้นพิมพ์: Application.Workbooks (1) .Name and hit return ...
jreichert

9

สำหรับทุกคนที่ลงเอยที่นี่เพราะต้องการเปิดไฟล์ Excel สองไฟล์ที่มีชื่อเดียวกันพร้อมกัน:

แม้ว่า Excel เองจะไม่อนุญาตให้ทำเช่นนั้นเนื่องจากสถานการณ์ (ที่น่าสงสัยอย่างแน่นอน) ที่ Baldrick ระบุไว้ในคำตอบของเขาแต่ก็มีวิธีแก้ปัญหาอย่างน้อยที่อนุญาตให้เปิดไฟล์ xls / xlsx หลายไฟล์ที่มีชื่อเดียวกันในเวลาเดียวกันในอินสแตนซ์ Excel แยกกัน / กระบวนการ

วิธีการแก้ปัญหาจะอธิบายในหัวข้อนี้ในฟอรั่ How-To Geek

แม้จะมีประเภทของการแก้ไข "ในตัว" ด้วยความช่วยเหลือของการตั้งค่าIgnore other applications that use Dynamic Data Exchange (DDE)ซึ่งเหมาะกับฉัน แต่ทำให้เกิดข้อผิดพลาดเมื่อปิด Excel จากนั้นพยายามเปิดไฟล์อีกครั้งโดยดับเบิลคลิกที่ไฟล์

ฉันต้องไปแก้ไขรีจิสทรีซึ่งใช้งานได้ดี โปรดทราบว่าวิธีแก้ปัญหานี้เมื่อนำไปใช้แล้วจะป้องกันไม่ให้เซลล์อ้างอิงข้ามระหว่างตาราง Excel ที่เปิดทั้งหมด (รวมถึงเซลล์ที่มีชื่อต่างกันด้วย) เนื่องจากอินสแตนซ์ Excel แยกกันไม่ทราบซึ่งกันและกัน (อย่างน้อยก็เป็นไปตามการทดสอบที่ฉันเพิ่งทำ)

คุณอาจต้องการเลือกการแก้ไขซึ่งจะเพิ่มรายการเมนูบริบทใหม่Open Separateลงใน Explorer และใช้เฉพาะในกรณีที่คุณต้องการเปิดไฟล์สองไฟล์ที่มีชื่อเดียวกันในเวลาเดียวกัน


ลิงค์ที่ดีมากขอบคุณ - อันที่จริงฉันได้ลองใช้แล้วจากแหล่งอื่น ๆ โดยหลักแล้วจะเปิดในอินสแตนซ์แยกต่างหาก แต่ก็ถอยออกมาอีกครั้ง แต่ฉันคิดว่าฉันจะไปที่รายการเมนูบริบทเพื่อเปิดแยกต่างหากหากจำเป็น
Alexander Rühl
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.