No.4ベストアンサー
- 回答日時:
私も過去に同じようなことをしたことがあります。
私の場合はPDFではなくJPGファイルですが、その時は、VBAではなく、コマンドプロンプトから「DIR /B > ファイル.txt」としてテキストファイルに保存してから、Excelで開いて、計算式を駆使してバッチファイルを作りました。
その方が簡単で早いと思いますが、ExcelVBAの勉強も兼ねて、やっつけ仕事で次のようなものを作ってみました。
Excelファイルと同じフォルダーにあるPDFファイルを、同名のフォルダーを作って保存し、ワークシート「Sheet1」に処理結果を表示します。
動作は全然保証できませんので、あらかじめバックアップをお願いします。
Sub PDFファイルを同名のフォルダーに保存()
Dim パス名 As String
Dim FSO As Object
Dim WSH As Object
Dim ファイル As Object
Dim 移動先フォルダー As String
Dim 移動先パス As String
Dim 行 As Long
Application.Cursor = xlWait
On Error Resume Next
'ファイルシステムオブジェクト
Set FSO = CreateObject("Scripting.FileSystemObject")
'Sheet1をクリアする
Worksheets("Sheet1").Cells.ClearContents
'1行目
Worksheets("Sheet1").Cells(1, 1) = "移動前のファイル"
Worksheets("Sheet1").Cells(1, 2) = "⇒"
Worksheets("Sheet1").Cells(1, 3) = "移動後のファイル"
行 = 2
' フォルダー内のファイル
For Each ファイル In FSO.GetFolder(ThisWorkbook.Path).Files
With ファイル
If StrConv(FSO.GetExtensionName(.Path), vbUpperCase) = "PDF" Then
Worksheets("Sheet1").Cells(行, 1) = "'" & FSO.GetAbsolutePathName(.Path)
'フォルダが存在しない場合、フォルダーを作成する
移動先フォルダー = .ParentFolder & "\" & FSO.GetbaseName(.Path)
If Not FSO.FolderExists(移動先フォルダー) Then
FSO.CreateFolder 移動先フォルダー
End If
'既にファイルが存在する場合、削除する
移動先パス = 移動先フォルダー & "\" & .Name
If FSO.FileExists(移動先パス) Then
FSO.DeleteFile 移動先パス, True
End If
'ファイルを移動する
FSO.MoveFile FSO.GetAbsolutePathName(.Path), 移動先フォルダー & "\"
Worksheets("Sheet1").Cells(行, 2) = "⇒"
Worksheets("Sheet1").Cells(行, 3) = 移動先パス
行 = 行 + 1
End If
End With
Next
Set FSO = Nothing
Application.Cursor = xlDefault
End Sub
No.3
- 回答日時:
homeのtestというフォルダの中に該当のpdfがあったらの話です
No.2
- 回答日時:
シェルスクリプトですけどいいですか?
#!/bin/bash
for ((i=1000; i<=3000; i++)); do
mkdir ~/test/$i
mv ~/test/$i.pdf ~/test/$i/$i.pdf
done
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】ファイル名の日付によって、保管するフォルダを、自動選択したい 4 2023/08/16 11:24
- グループウェア 一太郎がイントラで開けません。対処方法を知りたいです。 3 2023/04/04 13:30
- PDF PDFを自動添付したメールを送信してくれるツールを探しています。 2 2023/02/07 15:19
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- Excel(エクセル) ファイル一覧表を使ったファイルの移動 5 2022/08/10 15:37
- Excel(エクセル) PDFファイルに日付を名前にして保存したい。 エクセル2019でワークシートに請求書のフォームを作り 2 2023/05/27 11:13
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- PDF PDFファイルの圧縮 1 2022/10/04 13:48
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/07/01 12:54
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/02 11:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelのマクロについて教えてく...
-
CSVファイルの特定行の削除
-
ファイルが移動してもリンクの...
-
FTPのgetとputの使いわけ。
-
彼女の過去の恋愛に嫉妬してし...
-
vbsからのExcelマクロ呼び出し...
-
エクセル保存終了で一時ファイ...
-
WINDOWS CMDからゴミ箱のファ...
-
【VB6】ファイル保存:同名パス...
-
エクセルの一時ファイルが保存...
-
OneDrive必要なものでしょうか
-
複数のExcelファイルにある同名...
-
Excelに貼り付けた画像を圧縮す...
-
docxをmht形式で保存したファイ...
-
EXCELVBAにて文字列にして「01...
-
mediaplayerの取り込みフォルダ...
-
あるマクロを起動し、その際に...
-
Excelファイルを比較し、差分箇...
-
resource.hに残る不要な#define
-
ユーザーフォームをコピーする...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSVファイルの特定行の削除
-
vbsからのExcelマクロ呼び出し...
-
OneDrive必要なものでしょうか
-
iCloud for Windowsをアンイン...
-
Excel: ファイル名になぜ、[...
-
EXCELVBAにて文字列にして「01...
-
ファイルが移動してもリンクの...
-
彼女の過去の恋愛に嫉妬してし...
-
複数のExcelファイルにある同名...
-
VBAにおいて、ファイルの移...
-
WINDOWS CMDからゴミ箱のファ...
-
[Unity]シーンファイルの中が消...
-
FTPのgetとputの使いわけ。
-
docxをmht形式で保存したファイ...
-
エクセルのファイル:「自分」が...
-
Googleドライブについて
-
自動で.xlsを閉じて指定フォル...
-
batでファイル名を変更したい(...
-
5000個のtiffファイルをpdfへ変...
-
エクセル保存終了で一時ファイ...
おすすめ情報
動作確認したところ、特に問題なかったです。
この作って頂いたコードを元に仕様に合わせたところオッケーでした。
本当にありがとうございました。