ヤフオクストア運営用 複数のオークションを一括で出品取り消しするExcelVBAマクロ

大量の出品をメンテナンスしたい!

こんにちは、akanekoです。
ヤフオクストア運営のヒントになるExcelVBAマクロをまたご紹介します。

今回は、大量のオークション出品を一括で取り消ししたいときに使えるマクロです。

落札ナビの出品中データ一覧画面にて、選択したデータを一括で取り消すことはできます。

しかし、この画面では、データの検索による絞り込み等ができないため、ある特定の条件に紐付くオークションだけ取り消しする、といったことはできない仕様になっています。

件数が数件~十数件レベルでしたら、一つ一つオークション画面から取り消しするか、上記の方法で取り消しするなどの対応で問題ありませんが、これが百件レベルの大量件数のデータに対して行おうとすると正直難しいですよね。

そんなときに、このツールが大変便利です。

事前に作成した取り消ししたいオークションIDリストをもとに、そのオークションを自動で取り消ししていくマクロです。

 

<ご注意>
ソースコードおよびExcelは無料公開しています。
利用に制限はございませんが、二次配布はご遠慮ください。
また、当コード及びExcel利用に際し何らかの不利益が発生したとしても、当方は一切の責任を負いません。ご了承いただける場合のみご利用くださいませ。

スポンサーリンク

使用方法

設定するは一か所のみです。

B列(オークションID)に、取り消ししたいオークションIDを入力します。
他のエクセル等からデータをコピペする際には、【値貼り付け】でデータを貼りつけるようにしてください

※オークションIDのリスト作成についてはまた後日記事にしたいと思います。

「出品取消」ボタンをクリックすると、IEが立ち上がり、自動的に出品取消ページを表示、取消ボタンを自動で押します。立ち上がったIE画面には処理終了まで触らないようにしてください。

処理が終わったら、出品終了分の画面にて結果を確認してください。



ソースコード

Sub 出品取消()

Dim objIE As Object
        
    'IEの準備
    Set objIE = CreateObject("InternetExplorer.application")
    objIE.Visible = True 

    'データ行を処理
    For i = 3 To 102
        If ThisWorkbook.Sheets(1).Cells(i, 1).Value = "" Then Exit For
    
        objIE.Navigate ThisWorkbook.Sheets(1).Cells(i, 1).Value

        '表示終了まで待つ
        Do While objIE.Busy = True Or objIE.readyState < READYSTATE_COMPLETE
            DoEvents
        Loop

        '取消ボタンを押す
        On Error Resume Next
        objIE.document.forms(0).submit
        On Error GoTo 0
 
        '表示終了まで待つ
        Do While objIE.Busy = True Or objIE.readyState < READYSTATE_COMPLETE
            DoEvents
        Loop

    Next i

End Sub

 

Excelダウンロード

以下よりダウンロードできます。

AucEnd

動作確認済み環境は以下の通りです。
Windows7 SP1/Microsoft Office Excel 2007
Windows8/Microsoft Office Excel 2010

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください