- ベストアンサー
VBAでブック名の拡張子を除去してシートにコピー
VBA初心者でコード作成で困っております。 下記の通りコードを組みましたが、シート名をブック名に変更して 保存したいのですが、このコードですと拡張子までついてしまいます。 拡張子を除去するためにはどうすればよいでしょうか? アドバイス宜しくお願い致します。 Sub test() 'シート名の変更 Dim MyPath As String Dim MyFile As String Dim Wb As Workbook MyPath = "C:\TEST\" MyFile = Dir(MyPath & "*.xlsx") Do While MyFile <> "" Set Wb = Workbooks.Open(MyPath & MyFile) ActiveSheet.Name = ActiveWorkbook.Name Application.DisplayAlerts = False Wb.Save Application.DisplayAlerts = True Wb.Close (False) MyFile = Dir() Loop End Sub
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
拡張子が .xlsx と決まっているなら ActiveSheet.Name = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 5) では?
その他の回答 (1)
- hana-hana3
- ベストアンサー率31% (4940/15541)
下記の方法でファイル名だけを取得出来ます。 tmp = "aaaac.xlsx" MsgBox Left(tmp, Len(tmp) - 5) ---------------------------------------------- tmp = ActiveWorkbook.Name ActiveSheet.Name = Left(tmp, Len(tmp) - 5)
お礼
早々のご回答ありがとうございます。 問題解決しました。 大変勉強になりました。 ありがとうございました。
お礼
ご回答ありがとうございます。 アドバイスして頂いたコードで無事出来ました。 とても参考になりました。 ありがとうございました。