[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBA ブックの名前変更』(ひろこ)
はじめまして
教えていただけたら幸いです
同一ホルダ内に複数のブックがあります
このブックの名前の後ろに本日のYYYYMMDD を
付けたしたいです
丸投げで申し訳御座いませんが
宜しくお願いいたします
< 使用 Excel:Excel2013、使用 OS:Windows10 >
Dir関数 Nameステートメント
で調べてみてください。
Dir関数 は、特定のフォルダ以下のファイル一覧取得、既に存在するファイル名か否か判定するのにも使えます。 (カリーニン) 2017/06/13(火) 18:28
しなきゃいけないほどなのに、エクセルVBAにこだわるのはなぜ?
フリーソフトを探せば、簡単に見つかりそうな気がしますが。
(マナ) 2017/06/13(火) 18:34
Set Wbs = ThisWorkbook
Fname = Dir(ThisWorkbook.Path & "\*.xlsx*")
Do While Fname <> ""
If Fname <> ThisWorkbook.Name Then
Workbooks.Open ThisWorkbook.Path & "\" & Fname
Set Wbm = ActiveWorkbook
If buf Like "[0-9]" Then
On Error Resume Next End If
Wbm.SaveAs Filename:=Wbm.Path & "\" & Wbm.Name & Format(Now, "yyyy.m.dd") & ".xlsx"
Wbm.Close
End If
Fname = Dir()
Loop
Application.DisplayAlerts = True End Sub (11) 2017/06/13(火) 19:12
ブック名かえるのにブックを開く必要はないのでは? インデントもしっかりつけましょう。
あと、 >If buf Like "[0-9]" Then
これは必要ですか? (カリーニン) 2017/06/13(火) 19:20
喧嘩売ってんの?
(11) 2017/06/13(火) 19:37
いや、回答者である限り、しっかりしたコードを提示すべきだからです。 まともな回答者だったら、指摘はコードのブラッシュアップになるのでありがたく 思うとおもうんですがね。 (カリーニン) 2017/06/13(火) 19:50
Option Explicit
Sub test() Dim フォルダ As String Dim エクセル As String Dim 今日の日付 As String Dim 拡張子 As String Dim 現在の名前 As String Dim 新しい名前 As String
フォルダ = ThisWorkbook.Path & "\" エクセル = Dir(フォルダ & "*.xls")
今日の日付 = Format(Date, "yyyymmdd")
Do While エクセル <> "" If エクセル <> ThisWorkbook.Name Then 拡張子 = Mid(エクセル, InStrRev(エクセル, ".")) 現在の名前 = フォルダ & エクセル 新しい名前 = Left(現在の名前, Len(現在の名前) - Len(拡張子)) & 今日の日付 & 拡張子 Name 現在の名前 As 新しい名前 End If エクセル = Dir() Loop
End Sub
(マナ) 2017/06/13(火) 22:05
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.