※ ChatGPTを利用し、要約された質問です(原文:excelで最初に開いたファイル名称を覚えておく様な処理は可能ですか?)
Excelで最初に開いたファイル名称を覚える処理の実装方法は?
このQ&Aのポイント
Excelで最初に開いたファイル名称を覚える処理を実装する方法について教えてください。
複数のExcelファイルが開かれている状況でも、エラーなく特定のファイルを後から開いた場合にも対応する方法について知りたいです。
Excelのマクロを使用して、実行したファイル名を覚える処理を実装したいです。
excelで最初に開いたファイル名称を覚えておく様な処理は可能ですか?
excelで最初に開いたファイル名称を覚えておく様な処理は可能ですか?
1.最初の処理
(1)A.xlsのファイルを開く
(2)マクロ:2010.xlsのファイルを開く
(3)マクロ:チェックのシートをA.xlsの明細のシートの前に追加
(4)マクロ:チェックのシート名称をコピーした日付と時間のシート名に変更
(5)マクロ:2010.xlsのファイルをディスクトップ上から削除
2.後から追加する処理
(6)B.xlsのファイルを開く
(B.xlsは、A.xlsとは異なるフォルダを作成し、A.xlsの特定のセルの中身の名称でファイル名保存されます。名前が異なるだけでマクロの中身はA.xlsと同じ)
(7)マクロ:2010.xlsのファイルを開く
(8)マクロ:チェックのシートをB.xlsの明細のシートの前に追加
(9)マクロ:チェックのシート名称をコピーした日付と時間のシート名に変更
(10)マクロ:2010.xlsのファイルをディスクトップ上から削除
上記を対応する為に下記の様なマクロ((6)(7)の部分を抜粋)を設定しています。
'2010.xlsのファイルを開く(2010.xlsのファイルは適宜、ディスクトップにコピーされます)
Workbooks.Open FileName:="C:\Documents and Settings\ID\デスクトップ\2010.xls"
'チェックのシートを現在のブックの明細の前にコピーする。
Windows("2010.xls").Activate
Sheets("チェック").Copy before:=Workbooks(1).Sheets("明細")
単独でA.xlsやB.xlsのファイルが開かれている場合には、
上記の対応で問題ないのですが、A.xls、B.xls以外のexcelファイルが開かれていると、
実行時エラーが出てしまいます。
Workbooks(1)の部分で最初に開いたexcelのファイル名称を指定しているのが
影響しているのはわかるのですが、ここの処理をなんとかしたいというおもいです。
つまり、複数のexcelファイルが開かれていて、A.xlsやB.xlsのファイルを後から開いても
エラーがでない様にするには、どの様な処理にしたらよいのか教えて頂きたく。
マクロを実行したexcelのファイル名を覚えておいて、その名前が(1)に置き換わる
様な処理が望まれる処理です。
お礼
早々に回答頂きありがとうございました。 結果はばっちりでした。m(__)m