2018年06月06日 (水) | Edit |
以前の記事
「ScriptAutoRunnerでnanacoギフト登録を簡単に行う方法」
にて、nanacoギフトを簡単に登録する方法をご紹介いたしましたが、今回はこの方法よりもさらに自動化させた方法をご紹介したいと思います。

その方法とは
「VBScriptを用いて自動化させる方法」
です。VBScriptはWindowsPCであれば基本的には動作すると思いますので、特別なソフトは必要としませんので、誰でも手軽に使用することが出来るかと思います。

肝心のVBScriptについては、dett様のホームページにある
「VBScriptでnanacoギフト登録を自動化してみた」
にて作成されたVBScriptを活用しました。
※dett様、当ブログでこの記事のご紹介を快く受けていただき大変ありがとうございました。

今回は私自身がこのスクリプトを使用した際に気づいた注意点などについてご紹介させていただければと思います。
(1)inputText.txtの作成方法について
inputText.txtは登録用URL(PC)を1行ずつ記載するテキストファイルで、ここに記載したURLに対して登録を行います。
しかし、私がnanacoギフトを購入しているJ'sコンシェル経由でnanacoギフトを購入すると下記のようなメールでギフトIDが通知されます。
nanaco_urlscript00.jpg
このように、無駄な内容がURLの間に記載されているので、1行ずつURLだけをコピーしてinputText.txtを作るのは結構大変です。というわけで
「inputText.txtを作成するためのVBScriptを作成」
してみました。そのコードが以下になります。
' ここから
Dim fso
Set fso = WScript.CreateObject("Scripting.FileSystemObject")

' 読み込みファイルの指定
Dim inputUrl
Set inputUrl = fso.OpenTextFile("inputUrl.txt", 1, False, 0)

' 書き出しファイルの指定
Dim outputFile
Set outputFile = fso.OpenTextFile("inputText.txt", 2, True)

Do Until inputUrl.AtEndOfStream
Dim strLine
strLine = inputUrl.ReadLine

Call selectUrl(strLine)

Loop

' ファイルを閉じる
inputUrl.Close
outputFile.Close

Sub selectUrl(strLine)

'URL判定
Dim find
find = InStr(strLine, "www.nanaco-net.jp")
If find = 0 Then 'URLなし'
'スキップ
Else 'URLあり'
'スペース削除
Dim Str
Str = Trim(replace(strLine," ",""))
outputFile.WriteLine Str
End If

End Sub
' ここまで
このコードをテキストエディタに貼り付けて、拡張子をvbsとして保存するとVBScriptの完成です。
読み込みファイルはJ'sコンシェルから送られてきたメールのURL部分を下記のようにそのまま貼り付けて、
「inputUrl.txt」
というファイル名でVBScriptがあるフォルダに保存します。
nanaco_urlscript01.jpg
読み込みファイルを作成したら、上記のVBScriptを実行すればinputText.txtが完成します。

(2)nanacoモバイルに登録したい場合
dett様のVBScriptはnanacoカードにチャージをするように作成されておりますので、nanacoモバイルにチャージをしたい場合はdett様のVBScriptを少し修正しないといけません。その修正箇所は下記の通りです。”00000000"の場所にはご自分のnanacoIDとパスワードを入力してください。
---------------------------------------------------------------------------------------------
' 2.「nanaco番号」と「カード記載の番号」を自動入力し、ログインボタンをクリック
' nanaco番号を入力
ie.Document.getElementById("nanacoNumber0201").Value = "0000000000000000"
WScript.Sleep 100

' カード記載の番号を入力
ie.Document.getElementById("cardNumberpass").Value = "0000000"
WScript.Sleep 100

' ログインボタンクリック
ie.Document.all("loginPass0201").Click
waitIE ie
WScript.Sleep 100
----------------------------------------------------------------------------------------------

私自身も
「自分が作成したScriptでinputText.txtを作成」
dett様のVBScriptでnanacoギフト登録」

によって、100個分のnanacoギフトがあっという間に登録できました。

10個くらいであれば以前紹介した方法でもそれほど手間ではなかったのですが、100個ともなるとこのスクリプトを用いた方が明らかに早くなりますので、VBScriptを活用することをオススメいたします。
関連記事


ブログランキング・にほんブログ村へ にほんブログ村 その他生活ブログ 節約・節約術へ にほんブログ村 PC家電ブログへ
★ご協力お願いします★
コメント
この記事へのコメント
当方はプライベートではMac使いなので、代わりにAutomater使ってもよさそうですね。
ただ、いくつかの理由や思いがあり、完全自動化までは至っていません。

難しいかもしれませんが、スクリプトを使わなくても、誰でも気軽に登録できるようになる、そんな日がくればいいと思います。
2018/06/16(Sat) 13:43 | URL  | しげお #-[ 編集]
しげお様へ
しげお様

いつもコメントありがとうございます。
MacだとVBSは使えそうにないですね。ただMacでも似たようなものがあるのでしたら自動化した方が登録自体は楽になるかもしれないですね。ただ理由が思いがあるようであればその限りではないですよね。
おっしゃるとおり、ギフトが1,000円単位で発行されずにせめて1万円単位であればスクリプトなんて必要ないのですが、そうなると良いですよね。

またお時間のあるときにコメントいただければ幸いです。
今後ともよろしくお願いいたします。
2018/06/17(Sun) 01:00 | URL  | Kurosuke #EBUSheBA[ 編集]
簡単な購入方法
お世話になります。
nanacoギフトを購入できるサイトてkiigoというのをご存知でしょうか?
クレカを使い等価で購入できそうですがクレカにポイントがつくかつかないかはまだ使ったことがないのでわかりません。
因みにKyashは本人認証がないので残念ながら使えないようです。
2018/06/17(Sun) 14:10 | URL  | バイヤー #mQop/nM.[ 編集]
バイヤー 様へ
バイヤー 様

いつもコメントありがとうございます。
また今回も貴重な情報大変ありがとうございます。

他のクレジットカード関係のブログでkiigoというサービスは耳にはしておりましたが、私自身は当面Jsコンシェルでギフトを購入するから必要ないかなとあまり調べておりませんでした。ただ今回調べてみるとこれを利用してポイントがつくばかりか、クレジットカードをコンビニ払いにし、nanacoで払うことで永久機関も可能という記事も拝見いたしました。

私自身は当面はJsコンシェルでギフトを購入し、これができなくなったらkiigoも活用してみようかなと考えております。ただ永久機関ができるようだと、なんらかの対策はとられそうな気も致します。

今回は貴重な情報大変ありがとうございました。
また今後ともよろしくお願いいたします。
2018/06/18(Mon) 15:05 | URL  | Kurosuke #EBUSheBA[ 編集]
explorer11では無理ダメでしょうか。
はじめまして。いとうさなえと申します。

先日kiigoでnanacoギフト買おうと思ったら終了していてベネフィットでギフトを購入してこちらのページを参考に登録しようと思ったのですがIDとパスワードの入力はされているもののクリックで止まってしまうので検索してみたら、IE11ではクリックの部分が廃止になったと書かれているのを見まして昨日1日色々見て回ったのですが改善策が見つからずあきらめているところです。書き換えたら出来るのかもしれないのですが知識が無いです💦できれば一括登録したいと思います。お時間があったら改善策をぜひUpして頂きたいと思って書き込みさせて頂きました。よろしくお願いいたします。
2019/05/22(Wed) 10:56 | URL  | いとうさなえ #zNzN/CDA[ 編集]
いとうさなえ 様へ
いとうさなえ様

管理人のKurosukeと申します。この度は当ブログにコメントいただき大変ありがとうございます。
ご質問いただきました件ですが、私の使用環境がwindowswindows8.1のIE11なので、IE11でクリックが反応しないというのは私の環境では再現できないようです。ただOSの環境などによってはあるかもしれないです。Clickを使用しない方法もあるのかもしれないですが、私の知識ではちょっと難しそうです。すみません。

もしVBSを実行してみてエラーメッセージなどがでるようでしたら、そのエラーメッセージを教えていただければ何かしらの対応ができるかもしれません。何かエラーメッセージがでるようであれば教えていただければと思います。

お手数をおかけいたしますが、よろしくお願いいたします。
2019/05/22(Wed) 20:55 | URL  | Kurosuke #EBUSheBA[ 編集]
Kurosukeさま、お返事頂きまして有難うございます!
会社はwindows7で家がwindows10で試しましてみて同じだったのでIE11ではダメと思い込んでました。幸い自宅のもう1台がwindows 8.1なので後日試してみてご報告したいと思います。ちなみに今日は自宅のwindows10でパスとnanacoモバイルIDとパスワードのコード書き換えを行っている状況で実行すると、
--------
行:36
文字:1
エラー:書き込みできません:ie.document.all(…).click
コード:800A0046
microsoft VBScript 実行時エラー
---------------------

となってしまいます。会社のwindows7でも同じエラーだったと思います。

自宅の8.1で試してみるのが一番早いかと思いますので試せる時にやってみます、

有難うございました(^^)
2019/05/22(Wed) 23:55 | URL  | いとうさなえ #zNzN/CDA[ 編集]
Kurosukeさま、おはようございます。

今朝早速windows8.1の環境で試してみましたが最後までちゃんと終了して登録出来ました。windowsの環境で出来る出来ないがあるのかもしれませんねぇ!!たまたまうちにも8.1環境あったので助かりましたぁ~ありがとうございました☆
2019/05/23(Thu) 07:56 | URL  | いとうさなえ #zNzN/CDA[ 編集]
いとうさなえ 様へ
いとうさなえ様

早速のご返答ありがとうございます。また無事に起動したようで良かったです。
私も気になって、windows10(SurfaceGo)でやってみたのですが、私のwindows10環境ではうまくいきました。
なので、原因はよくわかりませんが、windows10でもうまくいく場合といかない場合があるのですね。

なにはともあれ、無事に動いたようで良かったです。
今後とも当ブログをよろしくお願いいたします。
2019/05/23(Thu) 20:57 | URL  | Kurosuke #EBUSheBA[ 編集]
コメントを投稿
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可
 
トラックバック
この記事のトラックバックURL
この記事へのトラックバック