見出し画像

大量のJPEGファイルを効率的に小分けするVBA

Shopifyで画像をアップロードする際には、一度にアップロードできるのは200枚までという制限があります。
そのため、もし一つのフォルダに1000枚の画像がある場合、200枚ずつ選択してアップロードする必要がありますが
これはかなり手間のかかる作業です。

この作業を簡単にするため、特定のコードを作成しました。

このコードを使用することで、Excelの「E2」セルに指定したフォルダのパスに従って、自動的に200枚ずつの画像でフォルダを分けることができます。

新しく作成されるフォルダは「画像フォルダ_1」「画像フォルダ_2」などと名付けられ、このプロセスをより簡単に行うことができます。

もし分割する画像の枚数を変更したい場合は、コード内の「200」の数値をお好みの枚数に変更することで調整可能です。
この方法で、Shopifyへの画像アップロードがより効率的に、そして簡単に行えるようになります。

Sub ファイルを分けて移動()

    Dim srcFolderPath As String
    Dim destFolderPath As String
    Dim fileName As String
    Dim fileCounter As Integer
    Dim folderCounter As Integer
    
    ' E2セルから元のフォルダーパスを取得
    srcFolderPath = ThisWorkbook.Sheets(1).Range("E2").Value
    
    ' ファイルとフォルダのカウンターを初期化
    fileCounter = 0
    folderCounter = 1
    
    ' 移動先の基本フォルダーパスを設定
    destFolderPath = srcFolderPath & "\画像フォルダ_"
    
    ' 最初のフォルダを作成
    MkDir destFolderPath & folderCounter
    
    ' フォルダ内の全ファイルを列挙
    fileName = Dir(srcFolderPath & "\*.jpg")
    
    Do While fileName <> ""
        ' ファイルを新しいフォルダーに移動
        Name srcFolderPath & "\" & fileName As destFolderPath & folderCounter & "\" & fileName
        fileCounter = fileCounter + 1
        
        ' 200ファイルごとに新しいフォルダを作成
        If fileCounter >= 200 Then
            folderCounter = folderCounter + 1
            MkDir destFolderPath & folderCounter
            fileCounter = 0
        End If
        
        ' 次のファイルを取得
        fileName = Dir()
    Loop
    
    MsgBox folderCounter & " 個のフォルダーに " & (folderCounter - 1) * 200 + fileCounter & " ファイルを移動しました。"

End Sub

この記事が参加している募集

仕事について話そう

この記事が気に入ったらサポートをしてみませんか?