[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ファイル名の前に作成年を付けたいのですが』(つむつむ)
いつも拝見させて頂いております。
有難うございます。
フォルダーの中に1000個ファイルが有ります。
このファイル名を変えたいのです。
現在のファイル名の前に作成日時の年を付けたいのですが、こんな事が出来るものでしょうか
(例)
現状のファイル名 お菓子の作り方
ファイル名変更後 2015お菓子の作り方
フォルダ名 お菓子
ファイルの種類 エクセル ワード パワーポイント
ファイルの種類 Excal93-2003 Excalブック
宜しくお願い致します。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
>ファイルの種類 Excal93-2003
Excelの間違い?
この中にはマクロが含まれているブックはありますか? いずれにせよマクロになると思います。
マクロの有無に関しては、HasVBAProjectプロパティでマクロを含むか否かを 自動的に判定する方法もあります。
FileSystemObjectを使用しファイルの作成日時を取得する,FileDateTimeを使用し最終更新日時 を取得する、などの方法があります。 (カリーニン) 2016/07/26(火) 20:33
Excelの間違いです。申し訳御座いません。
マクロが含まれるファイルは、ございません。
ファイルの作成日時からその年をファイル名の前に付けたいのですが
マクロは、ほとんど初心者ですが頑張ってみたいと思います。
宜しくお願い致します。
(つむつむ) 2016/07/26(火) 20:58
アップ後、すべてのファイル対象に変更しました。(22:03)
一例です。 エクセル ワード パワーポイント に限らず、フォルダ内のすべてのファイルを対象にします。 フォルダをデスクトップ上の "TEST" というフォルダ名にしています。 ここは、実際のフォルダパスに変更してください。
Sub Sample() Dim fold As String Dim fName As Variant Dim fPool As Collection Dim yy As String Dim er
Set fPool = New Collection fold = CreateObject("WScript.Shell").SpecialFolders("DeskTop") & "\TEST\" '★ yy = Format(Date, "yyyy")
fName = Dir(fold & "*.*")
Do While fName <> "" If fName <> ThisWorkbook.Name Then '念のため fPool.Add fName End If fName = Dir() Loop
For Each fName In fPool On Error Resume Next Name fold & fName As fold & yy & fName er = Err.Number On Error GoTo 0 If er <> 0 Then MsgBox "ファイル名変更に失敗しました" & vbLf & fName End If Next
End Sub
(β) 2016/07/26(火) 22:01
↑ 実行時の年を付加していました。作成日の年ですね。 後ほど、改訂版をアップします。
(β) 2016/07/26(火) 22:07
再掲します。素直に(?)カリーニンさんコメントのFSOを使いました。
Sub Sample2() Dim fso As Object Dim fold As String Dim file As Object Dim yy As String Dim er As Long
Set fso = CreateObject("Scripting.FileSystemObject") fold = CreateObject("WScript.Shell").SpecialFolders("DeskTop") & "\TEST"
For Each file In fso.getfolder(fold).Files On Error Resume Next file.Name = Format(file.datecreated, "yyyy") & file.Name er = Err.Number On Error GoTo 0 If er <> 0 Then MsgBox "ファイル名変更に失敗しました" & vbLf & file.Name Next
End Sub
(β) 2016/07/26(火) 22:32
教えて頂きましたマクロで、思い通りの結果が出ました。
(一個のマクロ設定ファイルは、コメントが出て作成年は付きませんでしたが問題有りません)
しかし、無理だと思って降りましたが何でも出来るものですね
いつもながら、本当に感心するばかりです
教えて頂きましたマクロ、少しずつ調べて見様と思います。
本日は、自宅でのテストです。
明日、会社で本番試してみます。
たくさんの時間を減らす事が出来ると思います。
本当に有難うございました。
(つむつむ) 2016/07/26(火) 22:51
色々テストしてみました。
作成年にして頂いたのですが、更新日時の方が使いかってが良い様に思います。
誠に申し訳ございませんが
更新した年にするマクロをお願い出来ないでしょうか
勝手を言って申し訳御座いませんがお願い出来ないでしょうか
宜しくお願い致します。
(つむつむ) 2016/07/27(水) 00:49
file.Name = Format(file.datecreated, "yyyy") & file.Name
これを
file.Name = Format(file.datelastmodified, "yyyy") & file.Name
に変更してください。
(β) 2016/07/27(水) 05:02
思い通りの結果が得られました。
本日、会社で実行して見ます。
本当に有難うございました。
(つむつむ) 2016/07/27(水) 05:28
後出し的で、申し訳ございませんが
もう一つ教えて頂きたいのですけれど
コンテンツの作成日時の年の場合はどうなるのでしょうか
宜しくお願い致します。
(つむつむ) 2016/07/27(水) 05:39
>>コンテンツの作成日時
コンテンツの作成日時とは、何をさしておられますか?
(β) 2016/07/27(水) 06:05
エクセルファイルを右クリック
プロパティの詳細の中に(下の方)コンテンツの作成日時が表示されております。
宜しくお願い致します。
(つむつむ) 2016/07/27(水) 06:12
どうもよくわかりません。
その日付は 最初にアップした file.datecreated そのものなんですが? それでは具合が悪いということで、file.datelastmodified にしたわけですよね?
(β) 2016/07/27(水) 06:53
勘違いをしておりました。
申し訳ございません。
これから、会社で更新日時のマクロに挑戦です。
有難うございました。
(つむつむ) 2016/07/27(水) 08:28
コンテンツの作成日時 午前中色々やってみましたがどうしても確認出来ませんでした。
作成日時 file.Name = Format(file.datecreated, "yyyy") & file.Nameで抽出出来ました。
更新日時 file.Name = Format(file.datelastmodified, "yyyy") & file.Nameで抽出できました。
file.datecreatedは、私なりに調べてみましたがコンテンツの作成となっていました。
勘違いとしました件は、見間違いでした。
何とか、コンテンツの作成日を抽出したいのですが
宜しくお願い致します。
(つむつむ) 2016/07/27(水) 13:47
すでにコメントしたとおり、よくわかりません。
・最終更新日は最新に変更して保存した日 ・作成日は このファイルを最初に新規作成して保存した日
で、「コンテンツ作成日」とは、なにを、どうした時の日を意図していますか? たとえば、○○○をして保存した。でも、その日付は datecreated でも datelastmodified でもない。 具体的に教えてもらえますか? (β) 2016/07/27(水) 14:19
もしかして・・・
具体的に【あれをやった日】をとりたいというテーマではなく、プロパティを見ると コンテンツ作成日として、作成日でも更新日でもない日付(時刻)が表示されている。 この情報を取得したいと、こういう意図ですか?
「エクセルブック コンテンツ作成日」といったもので検索すると、MSのページも含めて いくつかでています。
この日付は、ファイルの作成日のはずだけど、なんだかおかしく表示されている場合がある。 こういったことをすれば、こんな日付になる(なるのではないだろうか?)、なんだかおかしいね。
こんなトーンの記載ばかりですね。
いずれにしても、βは、「なんだかおかしな日付で表示されているコンテンツ作成日」、その 「おかしな日付」を取得するすべをしらないので、これ以上はお手伝いできません。
ほかの回答をお待ちください。
(β) 2016/07/27(水) 14:35
横から失礼。
私のところにこのようなブックがあった。 (もともとあったブックをExcelで読み込み、別の場所に名前を付けて保存で新規保存したと思われる)
作成日時 2016/5/27 10:44:56 更新日時 2016/5/27 10:32:39 アクセス日時 2016/5/27 10:44:56
コンテンツの作成日時 2003/5/29 10:45
上の物は「ファイル」を作成した日付、下の物はブックの中身を作成した日付ではないか? (ねむねむ) 2016/07/27(水) 14:39
「なんだかおかしな日付で表示されているコンテンツ作成日」は
file.BuiltinDocumentProperties(11)で出るようですね。
ですので、
file.Name = Format(file.BuiltinDocumentProperties(11), "yyyy") & file.Name
となるかと思われます。
わたしのファイルにも作成日時とマッチしないものがありましたが、
コンテンツの作成日時が作成日時以前の日付となっており、中身についてはよくわかりませんでした。。
【追記】
Format(BuiltinDocumentProperties(11), "yyyy")となっていたので
Format(file.BuiltinDocumentProperties(11), "yyyy")と修正しました。
(かぼ) 2016/07/27(水) 14:44
色々と教えていただき有難うございます。
コンテンツの作成日時は、よく分からない項目だと理解をしましたので、使用しない事に致しました。
お時間を取って頂き有難うございました。
今回は、β様から教えて頂きました更新日時のマクロを使用させて頂きます。
有難うございました。
(つむつむ) 2016/07/27(水) 15:12
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.