回答受付終了まであと5日

pdfの仕分けをしたいのですが、他者から教えて貰って↓ので試しているのですが出来ません。何か問題があるのでしょうか? Sub PDF仕分け_Excelマッピング() Dim ws As Worksheet Dim basePath As String Dim lastRow As Long Dim i As Long Dim fileName As String Dim folderName As String Dim folderPath As String Dim fso As Object ' PDFがあるフォルダー(末尾に\を付ける) basePath = "C:\Users\YourName\Documents\PDF整理\" Set fso = CreateObject("Scripting.FileSystemObject") Set ws = ThisWorkbook.Sheets("Sheet1") lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row For i = 2 To lastRow ' ヘッダーがある場合は2から fileName = ws.Cells(i, 1).Value folderName = ws.Cells(i, 3).Value folderPath = basePath & folderName ' PDFが存在かつ移動先フォルダーも存在する場合 If fso.FileExists(basePath & fileName) And fso.FolderExists(folderPath) Then fso.GetFile(basePath & fileName).Move folderPath & "\" & fileName Debug.Print fileName & " → " & folderPath Else Debug.Print "移動できない: " & fileName End If Next i MsgBox "【】 PDFの仕分け完了(Excelマッピング版)" End Sub

Visual Basic33閲覧xmlns="http://www.w3.org/2000/svg">50

回答(4件)

試してみたところ特に問題が無いので 恐らくですが A2以下、またはC2以下のファイル名、フォルダ名の書き方が悪いのでは? 何方にも「\」を付けないようにします。 あと、実在しなければ当然ダメですね。

この回答はいかがでしたか? リアクションしてみよう

以下はここに転記する際のミスだとします。 Dim ws As Worksheet Dim basePath As String 普通にできますが、「出来ません」とは具体的にどういう状況になるのですか??

AIアイコン

AIからのお助け回答

AIアイコンClaude(Anthropic)

コードを確認したところ、いくつかの問題点があります。修正すべき点は以下の通りです: 1. コードの最初の行に構文エラーがあります。 `Sub PDF仕分け_Excelマッピング()Dim ws As Worksheet Dim basePath As String` これを以下のように修正します: ``` Sub PDF仕分け_Excelマッピング() Dim ws As Worksheet Dim basePath As String ``` 2. パスの設定が一般的なものになっています。 `basePath = "C:\Users\YourName\Documents\PDF整理\"` 実際のユーザー名やフォルダパスに変更する必要があります。 3. ファイルの存在確認と移動処理の部分で、以下の点を確認してください: - PDFファイル名が正確にExcelのA列に記載されているか - フォルダ名が正確にExcelのC列に記載されているか - PDFファイル名に拡張子(.pdf)が含まれているか - 指定したベースパスに実際にPDFファイルが存在するか - 指定したフォルダが実際に存在するか 4. デバッグ情報を確認するために、Immediate Window(イミディエイトウィンドウ)を開いて(Ctrl+Gで開けます)、実行時のログを確認してください。「移動できない」というメッセージが表示されていれば、ファイルかフォルダが見つからない問題があります。 5. 必要に応じて、フォルダが存在しない場合は作成するコードを追加することも検討してください: ``` If Not fso.FolderExists(folderPath) Then fso.CreateFolder folderPath End If ``` これらの点を確認・修正して再度実行してみてください。

AIアイコンみんなの知恵袋

過去のベストアンサーを参照してAI(GPT-4o)が回答!

みんなの知恵袋とは?

PDF仕分けのVBAコードに問題がある場合、以下の点を確認してください。まず、`basePath`の設定が正しいか、特にフォルダパスの末尾にバックスラッシュがあるか確認します。次に、Excelシートのファイル名とフォルダー名が正確に入力されているか、空白や誤字がないかを確認してください。また、`fso.FileExists`と`fso.FolderExists`でファイルやフォルダーの存在を確認する際に、パスが正しく結合されているかも重要です。これらを確認しても問題が解決しない場合、デバッグモードでコードをステップ実行し、どの部分でエラーが発生しているかを特定することをお勧めします。

この回答は生成AIで作成したものであり、最新性や正確性等を保証するものではありません。その他注意事項はこちら