dポイントプレゼントキャンペーン実施中!

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

A 回答 (2件)

拡張子が .xlsx と決まっているなら



ActiveSheet.Name = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 5)

では?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

アドバイスして頂いたコードで無事出来ました。
とても参考になりました。

ありがとうございました。

お礼日時:2010/02/24 18:55

下記の方法でファイル名だけを取得出来ます。



tmp = "aaaac.xlsx"
MsgBox Left(tmp, Len(tmp) - 5)

----------------------------------------------
tmp = ActiveWorkbook.Name
ActiveSheet.Name = Left(tmp, Len(tmp) - 5)
    • good
    • 0
この回答へのお礼

早々のご回答ありがとうございます。

問題解決しました。
大変勉強になりました。

ありがとうございました。

お礼日時:2010/02/24 19:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!