忍者ブログ

ななこ

Benefit Stationで購入したnanacoギフトをマイクーポンから一括登録するVBAマクロ

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Benefit Stationで購入したnanacoギフトをマイクーポンから一括登録するVBAマクロ

Benefit Stationで購入したnanacoギフトをマイクーポンから一括登録するVBAマクロ

2023年の4月にベネフィットステーションで
nanacoギフトを大量に購入しました。
いつまでたってもギフト番号を記載したメールが届かないので
おっかしーな、と思っていたところ、
どうやら仕様が変わったらしく
マイクーポンに届くようになりました。
そこからギフト番号を取得するように
マクロを改変しました。

下記コードで
ベネアカウント、ベネアカウントパスワード、
nanaco番号、会員メニューパスワード
以上4か所を自分のものに書き換えて
マクロを実行してください。

先にも述べましたように
全くスマートではなく
あくまで個人使用のマクロです。
無料でお使いいただけます。

2023年3月時点では
J's コンシェル で購入したギフトコードは
メールで送付されており
先のブログ記事で対応できると思います。
他は存じません。

---
Sub BenefitS用マクロ()

    Dim Driver As New Selenium.WebDriver
    Dim target As Range
    Dim myBy As New By
    Dim nanacoURL As String
    Dim flag As Boolean
    
    
    Driver.Start "chrome"
    Driver.Get "https://mypage.bs.benefit-one.inc/mypage/coupon/"
    Driver.FindElementByCss("#username").SendKeys "ベネアカウント"
    
    Driver.FindElementByCss("#password").SendKeys "ベネアカウントパスワード"
    
    Driver.FindElementByCss("#password-login-btn").Click
    
    Driver.Wait 2000
    

    Driver.FindElementByCss("#capture > main > div > div.mb-6 > ul > li > div > div:nth-child(2) > h3").Click
    
    Driver.Wait 1000

    i = 1
     

  Do

 
    Driver.FindElementsByClass("c-checkbox__box")(i).Click
            
            i = i + 1
           
           xpath1 = "/html/body/div[1]/div/div[1]/main/div/div/div[1]/div/div[2]/div/div/ul/li["
            
            xpath3 = "]/div/div/label/div[1]"
      
            xpath2 = i
            
            xpath4 = xpath1 & xpath2 & xpath3

          
             flag = Driver.IsElementPresent(myBy.XPath(xpath4))

     Loop Until flag = False
     
Driver.FindElementByCss("#capture > main > div > div > div.p-mypage-coupon__header > div > div:nth-child(2) > div > div > div > div > button").Click
     
    Driver.Wait 1000
    
    For j = 1 To i - 1
            
            xpath1 = "/html/body/div[1]/div/div[1]/main/div/div/div[1]/div[2]/div[2]/div/div[1]/div[2]/ul/li["
            
            xpath3 = "]/div/div[3]/p[2]/span"
      
            xpath2 = j
            
            xpath4 = xpath1 & xpath2 & xpath3

          
    ActiveSheet.Cells(j, 1) = Driver.FindElementByXPath(xpath4).Text   
    
    Next j
    
    k = 1

    Do
    
        nanacoURL = Cells(k, 1)
        
        If nanacoURL = "" Then Exit Do
     
        Driver.Start "chrome"

        Driver.Get nanacoURL
   
        'nanaco番号入力
        
        Driver.FindElementByCss("#nanacoNumber01").SendKeys "nanaco番号"
    
        '会員メニュー用パスワード入力
        
        Driver.FindElementByCss("#pass").SendKeys "会員メニュー用パスワード"
    
        Driver.FindElementByCss("#loginPass01").Click
        
        Driver.FindElementByCss("#gift > a").Click
    
        Driver.FindElementByCss("#register > form > p > input[type=image]").Click
      
        Driver.SwitchToNextWindow
    
        FWFlag = False
    
        Do
        
            FWFlag = Driver.IsElementPresent(myBy.Css("#submit-button"))
        
            Driver.Wait 1000

        Loop Until FWFlag = True

        Driver.FindElementByCss("#submit-button").Click
    
        FWFlag1 = False
        
        FWFlag2 = False
           
        Do
        
            FWFlag1 = Driver.IsElementPresent(myBy.Css("#nav2Next > input[type=image]:nth-child(2)"))
            
            FWFlag2 = Driver.IsElementPresent(myBy.Css("#navNext > a > img"))
               
            Driver.Wait 1000
        
        Loop Until FWFlag1 = True Or FWFlag2 = True
         
        If FWFlag1 = True Then

            Driver.FindElementByCss("#nav2Next > input[type=image]:nth-child(2)").Click
           
            Driver.Quit
    
            Set Driver = Nothing
    
        Else
    
            Driver.Quit
    
            Set Driver = Nothing
    
        End If

       k = k + 1

    Loop
End Sub

---
ブログランキング・にほんブログ村へ
にほんブログ村 その他生活ブログへ
にほんブログ村 その他生活ブログ 電子マネーへ
にほんブログ村 その他生活ブログ 節約・節約術へ
にほんブログ村 IT技術ブログへ
にほんブログ村 IT技術ブログ VBAへ
PR

コメント

プロフィール

HN:
No Name Ninja
性別:
非公開

カテゴリー

P R

フリーエリア