• ベストアンサー

Excel2003で、C:\tempにある全てのブックのアクティブシー

Excel2003で、C:\tempにある全てのブックのアクティブシート名をファイル名(拡張子)に設定するマクロをご教示下さい。 例えば、Book1.xls にSheet1、Sheet2、Sheet3とある場合(ブックを開いたと きアクティブなのはSheet1)、Sheet1は「Book1」にリネームされるイメージ です。 C:\tempには、Bool1.xls、Bool2.xls、Bool3.xls、Bool4.xlsとあるので、そ れら全てに同じ処理がなされるイメージです(実際には数百ブックがあります)。 どうぞ、よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

>C:\tempには、Bool1.xls、Bool2.xls、Bool3.xls、Bool4.xlsとある sub macro1()  dim s as string  dim w as workbook  on error resume next  s = dir("c:\temp\*.xls")  application.screenupdating = false  application.calculation = xlcalculationmanual  do until s = ""   workbooks.open filename:=s   activesheet.name = application.substitute(activeworkbook.name, ".xls", "")   activeworkbook.close true   s = dir()  loop  application.calculation = xlcalculationautomatic  application.screenupdating = true end sub とか。

litton101
質問者

お礼

keithinさん、速攻のご回答大変感謝です!おかげさまで作業がはかどります!