- ベストアンサー
Explorerのホルダ名検索置き換えや空のホルダ製作
Windows xpのexplorerを操作したいのでフリーソフトご紹介ください。 1)ホルダの名前の部分を一括置き換えしたい 2)多数のホルダ(名前だけ)を中身空で作って置きたい 今は新しいホルダをショットカットキー(AltF、W、 F)で作り、貼付けで名前付け その一部変更でしのいでいますが、 これで我慢するしかないでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
> 変更対象名をExplorerからエクセルB列にコピー・ペーストする方法 いまいち自信がないのですが、セルA1に同じようにフォルダのパスを 入力して、 ' Sub DirListUp() Dim FPath, SubFld, Fld, RW FPath = Range("A1").Value If FPath <> "" Then Set SubFld = CreateObject("Scripting.FileSystemObject") _ .GetFolder(FPath).SubFolders RW = 1 For Each Fld In SubFld Range("B" & Format(RW)) = Fld.Name RW = RW + 1 Next End If End Sub ' B列にA1のフォルダ直下のサブフォルダがリストアップされると 思います。 前回のマクロでエラーメッセージが何故表示されるのかわかりません。 ただ、前回のマクロ(変名)を実行するときは、エクスプローラーで 処理対象のフォルダ(A列やB列に入力してあるフォルダ)にはフォー カスを置かないでください。
その他の回答 (4)
- misatoanna
- ベストアンサー率58% (528/896)
再度#1です。 > C:\My Fises を任意の名前に変えればその名のホルダの下に求めるホルダが出来ますが、 > Cドライブではなく D:\ 又は E:\ で実行出来ませんか? Cドライブ以外は、ChDir が利かないようですね。 それに、わざわざ ChDir を使わなくてもよかったようです。 <訂正版> Sub CrtDir() Dim i, FPath i = 1 Do While Cells(i, 2) <> "" If Cells(i, 1) <> "" Then FPath = Cells(i, 1).Value MkDir FPath & Cells(i, 2).Value i = i + 1 Loop End Sub <フォルダ名変更の場合:ご質問の1> A列:前回と同じ B列:現在のフォルダ名 C列:変更後のフォルダ名 Sub ChgNM() Dim i, FDrv, FPath1, FPath2 i = 1 Do While Cells(i, 2) <> "" If Cells(i, 1) <> "" Then FDrv = Cells(i, 1).Value FPath1 = FDrv & Cells(i, 2).Value FPath2 = FDrv & Cells(i, 3).Value Name FPath1 As FPath2 i = i + 1 Loop End Sub
補足
ありがとうございました 新ご回答で直接ドライブを選ぶことが出来ました。 エラー表示が出るのは私の環境が原因でしょうか?無視で使えます。 またフォルダ名変更も出来ました。『ファイルが見つかりません』のエラーがでますが無視してます。 エラーウインドのヘルプをクリックで説明がありますしError53だと言うことですが無力なので読んでません。 行数を色々変えて実験していて感じたのですが A列B列の C:\NyData\Pics\ TestX TestY の行の位置に意味合いがあるようです。素人向けの説明ございましたら、解説お願いします。 あと、変更対象名をExplorerからエクセルB列にコピー・ペーストする方法ありませんか? 必死に絡んでごめんなさい。
- harlan
- ベストアンサー率77% (234/303)
1) リネーム用のフリーソフトを使ってはどうでしょうか。 http://www.vector.co.jp/vpack/browse/pickup/pw5/pw005173.html http://www.vector.co.jp/vpack/browse/pickup/pw5/pw005197.html 2) バッチファイルを使ってはどうでしょう。 メモ帳などのテキストエディタで、以下のような内容のファイルを作り 拡張子を「.bat」にして保存します。 md "TestA" md "TestB" md "TestC" このファイルを、フォルダを作成したい場所に置き、ダブルクリックで実行します。 例えば、D:\My Files\TestA を作りたい時は、D:\My Files に置きます。 また絶対パスで指定すると、バッチファイルはどこにあっても構いません。 上記の例なら md "D:\My Files\TestA" md "D:\My Files\TestB" md "D:\My Files\TestC" 等とします。
お礼
ありがとうございまいした。長時間 misatoanna様のご回答で奮闘実験していまして、こちらを読むのが遅くなりました。フリーソフトのご紹介ありがとうございました。いずれ見てみようと思います。と言うのは 最近『Namery』をDLして使っているのですが、まだ無理解な点が多く今回の件は成功しないので質問となりました。 Excel上でリネイムは検索置換えや文字列関数など使えるので、misatoanna様の方法で満足しています。 ところが、バッチファイルをexplorerの右ペインに置いてダブルクリックで アット驚くホルダ製作! 何じゃこりゃ?とビックリ狂喜。 心より 感謝申し上げます。
- misatoanna
- ベストアンサー率58% (528/896)
#1です。 モジュール内の > Dim FPath1, FPath2, i は、 Dim i だけに変更してください。不要な定義を消し忘れました。
- misatoanna
- ベストアンサー率58% (528/896)
> 1)ホルダの名前の部分を一括置き換えしたい > 2)多数のホルダ(名前だけ)を中身空で作って置きたい 上記2だけですが、Excelのマクロで作ってみました。 1は「ホルダの名前の部分」の意味がわからないので、パスしました。(^^; 1.シートのA列にファルダを作るフォルダのフルパス、B列に作成するフォルダ名を 1行目から入力します。(下記は例) A B 1 C:\My Files\ TestA 2 TestB 3 TestC 4 C:\NyData\Pics\ TestX 5 TestY 2.次記のマクロを標準モジュールにコピペして実行します。 Sub CrtDir() Dim FPath1, FPath2, i i = 1 Do While Cells(i, 2) <> "" If Cells(i, 1) <> "" Then ChDir Cells(i, 1).Value MkDir Cells(i, 2).Value i = i + 1 Loop End Sub
補足
ありがとうございました。 Dim i に変更してみましたが[実行時エラー76 パスが見つかりません]または[75 バス名が無効です]が出ます。 C:\My Fises を任意の名前に変えればその名のホルダの下に求めるホルダが出来ますが、CドライブではなくD:\ 又は E:\ で実行出来ませんか?
お礼
出来ました。ありがとうございます。 エラーについては、知識無いですが実験の結果 [C:\NyData\Pics\] と[TestX][TestY] を削除したら 出なくなりました。 皆様に色々構文を書いていただき、便利なExcelとなっていますが、 Windows上までコントロールは初めてで びっくりです。 これで多量の画像上での作業検査データ保存に役立ちます。 心より感謝申し上げます。ありがとうございました。