Excelである文言の一覧があります。
特定フォルダからこの一覧を含むファイルを移動用フォルダを作成して移動したいと考えております。
■Excelファイル(A列)
AA111000
AA111002
■特定フォルダにあるファイル名
AA111000_りんご.pdf
AA111001_みかん.pdf
AA111002_ばなな.pdf
AA111003_いちご.pdf
■移動用フォルダ
不要
●希望結果(フォルダ構成)
AA111001_みかん.pdf
AA111003_いちご.pdf
不要
┗AA111000_りんご.pdf
┗AA1110002_ばなな.pdf
Excelにてバッチを含むVBAを作成して実行でも、
バッチファイルを手動で作成して実行でも構いません。
このような操作が可能かどうか、
可能であればどのようにすればよいか教えていただけないでしょうか。
No.5ベストアンサー
- 回答日時:
#1で想定したコードサンプルです
参考サイトなどと合わせて実行コード内の処理をステップ実行などで
確かめながら理解する方が早いかも知れませんしカット&トライの時代ではないのかも知れませんね。
Sub example()
Dim fso As Object, fol As Object, f As Object
Dim ary As Variant, i As Long
Dim strFolPath As String, strMoveFol As String
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = True Then 'ダイアログでファイル郡のフォルタパスを取得
strFolPath = .SelectedItems(1)
Else
Exit Sub
End If
End With
strMoveFol = strFolPath & "\不要" '同じフォルダの移動フォルダ名(変更箇所)
Set fso = CreateObject("Scripting.FileSystemObject")
Set fol = fso.GetFolder(strFolPath) ' フォルダ
If Not fso.FolderExists(strMoveFol) = True Then
fso.CreateFolder (strMoveFol) '無ければ移動先フォルダ作成
End If
'キーワードリスト作成(2次元配列で作成)
With ActiveSheet 'アクティブシートのA1セルから最終行(変更箇所)
ary = .Range(.Cells(1, "A"), .Cells(.Rows.Count, "A").End(xlUp))
End With
For Each f In fol.Files ' フォルダ内のファイルを順次取得
For i = 1 To UBound(ary, 1) '配列内をループ
If f.Name Like ary(i, 1) & "_*" Then 'ファイル名をlikeでパターンマッチ
f.Move (strMoveFol & "\") '同名で移動
'Exit For 'アンダーバー前の値が複数ある場合適当でない
End If
Next
Next
Set fol = Nothing
Set fso = Nothing
End Sub
No.4
- 回答日時:
補足要求です。
1.excelファイル A列に
AA111000
AA111002
が、ありますが、A1からデータが開始していますか。
それとも、A1は見出しで、A2からデータが開始していますか。
2.上記のシート名は何でしょうか。
3.マクロを組み込むとすれば、上記のexcelファイルに組み込む
ことになりますが、よろしいでしょうか。
(組み込んだexcelファイルの拡張子はxlsmになります)
4.特定フォルダの直下に”不要”フォルダがあると理解しましたが、
間違いないでしょうか。
1)ExcelファイルはA1セルから開始しています。
2)VBAで「除外」という名前のシートを作成し、A1セルから該当する番号(AA111000など)を入れています。
3)マクロの組み込みは問題ありません。この手段以外にもマクロやVBAを組んでいるので問題はありません。
4)「不要」フォルダは存在します。
No.3
- 回答日時:
#1です
今一度、ご確認したいのですが、
例を見るとファイル名での振り分けになっていましたので
ファイル名を念頭に回答いたしましたが、確かに 文言 含むファイル・・
ファイル名で振り分けではないのですか?
ファイル内のドキュメント文字列が振り分け対象キーワードなのですか?
PDFの文字列を取得となると#2様が示されている通り Acrobat Proや
Pythonなどのライブラリーを使ったりする必要があると思います、保護の問題もあるかな・・
私の文言が分かりにくくて申し訳ございません。
PDFファイル内にもAA111000のような文言が含まれていますが、
PDFファイル名に含まれている場合のみで考えておりました。
※PDFファイル内に書かれている番号(AA111000)と
PDFファイル名が異なる場合は別手段でPicUPしております。
説明の補足でした。
No.2
- 回答日時:
こんにちは
試してみてはいませんけれど・・・
ファイル名ではなく、ファイル内の文書で文言の有無を検索するということですよね?
バイナリ形式のファイルだと、対応ソフトで開いてから検索しないと上手くいかないものと思われます。
(テキストファイルのみが対象ならバッチでも良いのでしょうけれど・・)
どのようなファイルが対象なのでしょうか?
Office系はそのままVBAでもなんとかなりますが、例示なさっているのがpdfなので・・
.psdや.aiなども対象なのでしょうか? まさか、画像ファイルは対象外とは思いますが・・
各ファイルを検索する際に、拡張子を調べ、それに応じたソフトで開き、検索ワードの有無を調べる必要がありそうに思われます。
そのために、まずは対象となりそうなファイルを列挙して、それぞれの検索方法を調べることになるでしょう。
この部分さえクリアできれば、後は単純に
『特定フォルダ内の各ファイルを順に検索して、キーワードが存在すれば移動用フォルダに移動』
というループに組み込めばよさそうですので。
docx、xlsx、pptx、txt、csv などに関しては(質問者様にとって)問題はないものと推測しますので、その他のファイルで、例えばご例示のpdfの場合には、
https://fastclassinfo.com/entry/vba_pdf_text_ext …
のような感じで検索が可能です。
それ以外のファイルの種類に関しても、同様に個別に処理を作成しておいて、拡張子によって振り分ければなんとかなるのではと思います。
残念ながら、全てのソフトが検索に利用できるdll等を用意してくれているとは限りませんので、難しい種類のものも存在するであろうと推測されます。
コード内に扱える拡張子を列挙しておいて、それ以外のファイルが存在した場合には、スキップするなどが必要になるのではないでしょうか。
ご回答ありがとうございます。
フォルダにPDFファイルが500個以上あり、
特定の名前が入っている約半数のファイルを除外したいというのが目的でした。
フォルダに入っているのはPDFファイルのみです。
除外リストはExcelに1セルずつ入っているので、
それをテキストに書きだしてバッチファイルと考えておりました。
No.1
- 回答日時:
こんにちは
>可能であればどのようにすればよいか教えていただけないでしょうか。
先ずは 可能です
キーになるワードのリストを作成して
リストでなくとも列範囲をループする処理で値を取得する方法も有ります
各キーワードを対象ファイル名と比較(instrやLike)などをしてTrueの場合に
CreateObject("Scripting.FileSystemObject").Move(移動元フルパス & \)
や
Name 移動元フルパス As 移動先フルパス のようにステートメントを実行する形になると思われます
対象ファイル名と比較する場合、フォルダー内すべてのファイルに対して繰り返し処理をする(Trueの特ファルダ内ループから一旦抜ける)
具体的なコードは、ご質問にコードなどの記載がなくご質問者様のスキルなどが不明の為割愛します
(実際に書いたコードなどを示されると躓いている箇所やアドバイスもし易いですね)
参考サイトでご確認ください
現場で使える! Excel/VBA実践ガイド
【VBA】ファイルを移動する【シンプル】
https://excel-vba.work/2020/11/23/%E3%80%90vba%E …
Tipsfound › Excel VBA › ファイルの移動
https://www.tipsfound.com/vba/18008
大体でIT -ちょっと使えるネタを紹介-
【VBA】Rangeで取得したセル範囲をループする【For Eachを使います】
https://daitaideit.com/vba-range-for-each/
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ちょっと先の未来クイズ第2問
9月9日(月)に発表される「第3回子どもマネー川柳」に入賞する川柳を考えてこちらに投稿してください。
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
VBA フォルダ名に特定の文字を含むフォルダを別フォルダにコピーするコードを教えて下さい
Visual Basic(VBA)
-
サブフォルダ内のファイルを全部移動させたい。
Visual Basic(VBA)
-
サブフォルダー内のPDFファイルを別フォルダにコピーするVBA
Excel(エクセル)
-
-
4
フォルダ内のワードファイルをPDFに一括変換するVBA
Excel(エクセル)
-
5
【VBA】PDF出力に任意のファイル名前を付ける方法
Excel(エクセル)
-
6
多量のファイルをフォルダに自動振り分けするマクロを教えて下さい。
PowerPoint(パワーポイント)
-
7
VBAでセル値からフォルダ名を取得するコードについて
Excel(エクセル)
-
8
サブフォルダ含むフォルダ内の全ファイルから指定文字列を含んだファイルの情報を一覧出力させたい
Visual Basic(VBA)
-
9
あるフォルダーのファイルを違う親フォルダーのサブフォルダーに移したい
Visual Basic(VBA)
-
10
大量のフォルダからひとつのフォルダにファイルをまとめたい!
その他(ソフトウェア)
-
11
バッチファイル 別ファイルにリストしてあるファイルをコピーしたい
その他(プログラミング・Web制作)
-
12
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
13
マクロ、PDFを任意のフォルダへ保存
Excel(エクセル)
-
14
エクセルをPDFで保存し、ファイル名はA1セルを参照するVBAの記述を教えてください。
Excel(エクセル)
-
15
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
16
特定の文字を含むシートだけマクロ処理をしたい
Visual Basic(VBA)
-
17
Excel マクロでShearePoint先のフォルダ指定
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
切ったら梨の真ん中が茶色黒く...
-
スーパーで買った1つ300円の梨...
-
7文字以上のフルーツをできるだ...
-
切った梨の表面に、茶色い斑点...
-
梨の豊水について。 頂き物の豊...
-
煮物こんにゃくの冷凍保存について
-
【果物・梨】20世紀梨と廿世紀...
-
梨の皮が黒く変色していました。
-
国産ブルーベリーのほうがいい?
-
今白いちじくを食べようとして2...
-
インドの国旗とアイルランドの...
-
教えてください!!
-
梨を今日むいておいて明日たべ...
-
貰った梨が傷んでいました。販...
-
中黒「・」か読点「、」か?
-
すいかは発酵しても食べられるか。
-
今の若い人達は、松茸はたいし...
-
果物って、カタカナで書く場合...
-
スポンジケーキってどのくらい...
-
宅配ピザのおまけで付いてくる...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
7文字以上のフルーツをできるだ...
-
切ったら梨の真ん中が茶色黒く...
-
すいかは発酵しても食べられるか。
-
今白いちじくを食べようとして2...
-
梨の皮が黒く変色していました。
-
スーパーで買った1つ300円の梨...
-
梨の豊水について。 頂き物の豊...
-
スイカが炭酸の味!
-
こんなスイカは食べても大丈夫...
-
ラズベリーの種の抜き方を教え...
-
煮物こんにゃくの冷凍保存について
-
中黒「・」か読点「、」か?
-
【ぶどう】 友人からデラウェア...
-
切った梨の表面に、茶色い斑点...
-
ハーブソルトを代用できるもの...
-
スイカは腐るとどんな味がしま...
-
しわしわのぶどうの実をフッカ...
-
教えてください!!
-
国産ブルーベリーのほうがいい?
-
プルーンの種
おすすめ情報