Excel 2007 Disappointment

By: Johnathon Wright on: December 19, 2007

What an embarassment.

!http://bp1.blogger.com/VeJd3vmTCZg/R2kz0GpS6uI/AAAAAAAAEhc/HoLxuK1hkE/s320/excel_pathetic.png! It was recently pointed out to me that, by default, Excel 2007 will not let you open two files with the same name that are stored in different folders.

Take these two files for example: c:\source\projects\myproject\documentation\authentication\testplan.xlsx c:\source\projects\myproject\documentation\timeentry\test_plan.xlsx

If you tried to open both, you would receive the message "you cannot open two documents with the same name, even if the documents are in different folders."

I found a thread about the "duplicate filename problem in Excel 97 and 2000":http://www.anetforums.com/posts.aspx?ThreadIndex=17869 . Unfortunately, their fix didn't work for Excel 2007. I guess that even bugs can be refactored sometimes. Their solution did give me an idea, though... here's what I did to stop it. I have not experienced any negative side effects, but I am no expert on DDE. " !http://bp0.blogger.com/VeJd3vmTCZg/R2kym2pS6tI/AAAAAAAAEhU/e56U0ejPxj8/s200/ScreenShot017.png! ":http://bp0.blogger.com/VeJd3vmTCZg/R2kym2pS6tI/AAAAAAAAEhU/e56U0ejPxj8/s1600-h/ScreenShot017.png

  • Press [Win]E Tools > Folder Options > File Types
  • find and select the entry for "xlsx"
  • click "Advanced"
  • select "Open"
  • click "Edit"
  • remove the "DDE Message" (highlighted at right)
  • at the end of the "Application used to perform action" field, change %1 to "%1"

for me, this field now has this value:

"C:\Program Files\Microsoft Office\Office12\EXCEL.EXE" /e "%1"

The value in this field is the DOS command-line syntax used to open the file. %1 is the filename for the document being opened. %1 needs to be encased in quotes to accomodate spaces in file names. It tells Excel that the value that will replace %1, even if it contains spaces, does not stop until the final quote.





Comments:

Just checking that you are human. What would be the result of this code?

a = 3*(4/2); b = 1; a+b

Back