WorkbooksコレクションのAddメソッドに自分自身のフルパスを渡すとExcelが落ちる
Excelが落ちる
WorkbooksコレクションのAddメソッド
に、ExcelVBAer(id:x1xy2xyz3) さんから、次のようなコメントをいただいた。
参考までに、WorkBooks.Add([originalFileFullName]) という方法も知っておくといいかもね~
Addメソッドの引数に、元のファイルのフルパスを指定して実行するという意味だと思うのだけれど、どんな結果になるのか想像もつかなかった。
で、やってみた
とりあえず、次のようなコードを書いてみた。
リスト1
Public Sub testAddMyself() Dim originalWorkbook As Workbook Set originalWorkbook = ThisWorkbook Dim newWorkbook As Workbook Set newWorkbook = Workbooks.Add(originalWorkbook.FullName) End Sub
んで、実行してみた。
……。
元のブックは「親ブック.xlsm」というファイル名なのだけれど、新しくできたブックは「親ブック1」という名前になっているみたい。
全く同じファイルパスなんだから、新しい方に「1」を付けたんだろうけど、次の瞬間にExcelが落ちる。
これは何回やっても同じだった。
まあ、そもそも ExcelVBAer(id:x1xy2xyz3) さんのコメントを理解できていないということなのでしょう。
おわりに
こんなしょうもない記事が通算100記事目だなんて……。