いったいなぜExcelは同じ名前の2つのファイルを処理できないのですか?[閉まっている]


90

これは私のITライフ全体で私を悩ませます-私は20年以上にわたってExcelの7つの異なるバージョンで作業しましたが、各バージョンで大きな変更があり、古い機能が新しいバージョンで隠されている場所を検索する必要があります-しかし、1つのことがしっかりと残っています岩のように:同じ名前の2つのファイルを開くことができない。

申し訳ありませんが、Excelは同じ名前の2つのブックを同時に開くことはできません。

だから私はここでの洞察を本当に切望しています、なぜこれがExcel2013でまだ当てはまるのですか?それはExcel95で実装する必要さえありませんでしたか?Excelのデータ構造または内部処理内で、パスが異なるがファイル名が同じ2つのFileオブジェクトを処理できないという技術的または設計上の理由はありますか?ここでマイクロソフトがバッシングしたくないのですが、その背後にある理由を理解したいだけです。


3
スーパーユーザーへの移行に投票しました。プログラミングとはまったく関係ありません。
brettdj 2014

1
@brettdj:私も同じことを考えましたが、これはアプリケーションの使用法の質問ではなく、その背後にある技術的な理由、つまり実装についてですので、ここにも当てはまると思います。
アレクサンダーリュール

6
私が使用している他のソフトウェアにこの問題はありません。「申し訳ありませんが、MozillaFirefoxはindex.htmlという名前の2つのファイルを同時に開くことはできません。」
パニック大佐2015年

@ColonelPanic Microsoftがこの制限を課したためにどのように問題を解決ますか?
GSerg 2015年

回答:


75

Microsoftはここで、リンクされたセルの計算のあいまいさによるものだと言っいます。

セル= '[Book1.xlsx] Sheet1'!$ G $ 33があり、 'Book1'という名前の本が2冊開いている場合、どちらを意味するかを判断する方法はありません。

リンクされたワークブックをセル内で名前で参照するこの方法は、すべてのバージョンで存続し、変更されることはほとんどないと思います。


41
考えてみましょう。同じ名前の2つのファイルを開くという苛立たしい制限に遭遇したユーザーの何パーセントが、実際にドキュメントの1つにそのようなリンクを持っていましたか?私の推測では0.001%です。したがって、ユーザーの0.001%が原因で、99.9999%が回避策を見つけたり、ファイルの名前を変更したりする必要があります。愚かではありませんか?そのような参照が実際に存在する場合にのみ、そのファイルを開いてエラーを表示しないようにするのはなぜですか(または、単純にそのようなセルを計算せず、ユーザーがクリックしたときにエラーを表示します)。
マイクケスキノフ2017年

10

はい、できます!!! (しかし、これはExcelのバグだと思います)


これを試して:

  1. デスクトップで右クリックして、「新規」=>「MicrosoftExcelワークシート」を選択します。
  2. ファイルの名前を「Test [1] .xlsx」に変更します(名前は重要です!)
  3. 次に、デスクトップにnowフォルダーを作成し、ファイル「Test [1] .xlsx」のコピーをその中に貼り付けます。
  4. ダブルクリックして両方の「Test [1] .xlsx」を開きます:Etvoilà!

これで、2つの(同じ名前の)ワークブックがExcelで開かれます。しかし、そこにある「Workbook.Name」-プロパティを調べると、内部的には両方とも「Test(1).xlsx」に名前が変更されているため、さらに奇妙になります。

これは、Excelの数式に内部的に特殊文字「[]」が必要なためです。

したがって、(通常は)ブック名は許可されていませんが、外部で「Test [1] .xlsx」という名前のブックを開くことができます。これは私にとってバグです。

どうして?「Application.Workbooks [name]」を使用してこの両方のワークブックに対処したい場合、プログラマーとして本当に問題が発生するためです。これは失敗しませんが、常にこの名前で最初に見つかったものを提供します。

イェルク


興味深い回答@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

同じ名前の2つのExcelファイルを同時に開きたいので、ここで終わるすべての人のために:

Baldrickが回答で述べた(確かに疑わしい)状況のためにExcel自体はそうすることを許可していませんが、少なくとも、同じ名前の複数のxls / xlsxファイルを別々のExcelインスタンスで同時に開くことを可能にする回避策があります。 / processes。

回避策は、ハウツーオタクフォーラムのこのスレッドで説明されています

設定の助けを借りた一種の「組み込み」修正もありますIgnore other applications that use Dynamic Data Exchange (DDE)。これは私にとっては機能しますが、Excelを閉じてから、ファイルをダブルクリックして再度開こうとするとエラーが発生します。

レジストリの修正を行う必要がありましたが、これは正常に機能します。NOTEかかわら別のExcelのインスタンスが(少なくとも私はちょうど行った試験によると)お互いを認識していないので、この回避策は、適用された後、ALL間の相互参照細胞を防ぐことができますことは、Excelのテーブル(異なる名前のものも)が開かれました。

代わりOpen Separateに、エクスプローラーに新しいコンテキストメニュー項目を追加する修正を選択し、実際に同じ名前の2つのファイルを同時に開きたい場合にのみ使用することをお勧めします。


非常に良いリンク、ありがとう-実際、私はすでに別のインスタンスで主に開く他のソースからそれを試しましたが、再びそれから撤退しましたが、必要に応じてコンテキストメニュー項目で別々に開くと思います。
アレクサンダーリュール
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.