C#でクリックポストの自動登録ツールを作ってみた


扱えるプログラミング言語を増やさないとなーという事で、C#の勉強がてら適当に作ってみたツールを公開してみる事にします。

ツールの内容は「クリックポストの自動作成(登録?)ツール」です。

参考にしたのはChromeウェブストアにあったこちらのツール。

※こちらはChrome拡張ですが、「コンセプト」を参考にしただけで仕様やデザインは全く別物になっています。

お値段3,800円!

中々の価格ですね。

見てみるとサポートも込みっぽいしまぁ妥当・・・なんですかね。相場は分かりませんが同様のツールがほとんど無く、単純に競合相手がいないっぽいのでそこそこ売れている様子。

つまり需要はあるみたいなので、公開すれば使ってもらえる可能性はある!・・・という事で決定。

本当は私もChrome拡張で同じ物を作ろうと考えたのですが、UI(ユーザーインターフェイス)部分のhtml+CSSも全て自分で構築していかないといけないという事だったので断念。ウェブ系得意じゃないんですよ・・・。

得意じゃないならむしろそっち(ウェブ)系の技術習得も兼ねてChrome拡張で作った方が良かったんじゃないかという気もしますが、そこはまたの機会という事で。

とりあえず今回はC#でタスクトレイに常駐する様なツールを作ってみました。

スポンサーリンク

ツール概要

外観

まずツールの外観はこちら。

ClickPost AutoRegister(クリックポスト自動登録)」

略して「くりったー(Clitter)」。

・・・名前は正直適当です。

起動後は下図の様にタスクトレイに常駐しているので、アイコン上で右クリックを行いメインメニューの表示や終了操作を行って下さい。ポストと指のマークが目印。

基本機能

主な機能は以下の通り。

■住所情報の作成、取込

■CSV出力

■クリックポストの発送情報登録(登録~支払いまで自動実行)

■送り状PDFの保存

■まとめ印字後の問い合わせ番号取得

■新バージョンが見つかった場合の通知機能 

発送先住所情報の取込方法としては、以下の二つを用意しています。

■ヤフオク!取引ナビページからの自動取込

 ⇒取り込み先のURLを入力(コピペ)すると、自動的に住所情報を取得します。
  ※以下のページのURLをコピーして貼り付けて下さい。  

※『お届け方法が”クリックポスト”』かつ『支払い済み』の状況になっているページで無いと、現状 正常に動作しない可能性があります。

CSVからの一括取込

 ⇒データ入力済みのCSVファイルから一括で取込を行います
  ※フォーマットは固定なのでサンプルを同梱しています。

 クリックポスト標準の「まとめ申込」用CSVにも対応(ただし敬称設定は使用不可)

取込を行ったデータは手動で編集可能。セル上になっている箇所をダブルクリックする事で編集状態にする事ができます。

「操作」タブから行を追加する事ができるので、取込機能を使用せず最初から手入力も可能です。

デフォルトでは非表示になっていますが、「住所1、2」で足りない場合に入力する「住所3,4」は「表示」タブから表示/非表示の切替が行えます。

同じくクリックポスト発送登録後に取得できる「問い合わせ番号」も表示可能。一々PDFを確認したり、クリックポストのページを見に行く必要が無い様にしています。

チェック機能搭載

クリックポストは発送先氏名や住所を入力する際、1行あたり全角20文字(半角40文字)といった文字数上限が設定されています。登録時にエラーとならない様、「実行」ボタンを押した段階で事前にチェックを行う仕様となっています。

[参考画面]

仕組み

どうやってクリックポストの発送登録を行っているか」についてですが、みんな大好きSeleniumを使ったブラウザ自動操作で実現しています。(いつもの)

APIは提供されていませんし他に方法が無いですからね。

ですので、登録処理実行中は画面右下の方でブラウザがごそごそやっているのか見える状態となっています。

↓以下の画像は別のツールのものですが、動作中のイメージはこんな感じ。

ところで、クリックポストを利用するためには現在「Yahoo! JAPAN ID」または「Amazonアカウント」のいずれかが必須となっています。

ブラウザ操作の途中でこの部分のログイン操作も行う必要があるため、実行前の段階でツールにアカウント情報を入力しておく必要があります。

「ファイル」タブから「オプション」を選択すると以下の入力フォームが表示されるので、予めアカウント情報を入力しておいて下さい。

(入力例)

今の所ヤフオクアカウント限定です。Amazonでのログインに対応する予定は無いですが、もし要望があれば実装する・・・”かも”しれません。

「クレカ セキュアコード」はクレジットカードの3桁のセキュアコードを指します。この数値が必要な理由は、以下の支払い手続き画面で入力する必要があるためです。

実際に支払いまで自動化してしまうのはちょっと不安に思うかもしれませんが、クリックポストは発送登録を行った時点で引き落とされる訳では無いので安心して下さい。

実際に配送料金が引き落とされるタイミングは郵便局で引き受け処理を行った段階(バーコードを読み取った時)になるので、仮に間違ったデータで送り状を作成してしまっても、それを使わなければ良いだけです。

※これはクリックポストのQ&Aにも記載されている内容です。

スポンサーリンク

使用後の印刷について

クリックポストの送り状作成後は、オプションで指定したフォルダにPDFが格納されている状態となります。

印刷自体はユーザーが任意のタイミングでしてもらえれば良いかなーと思っているので、ツール側では保存した後は何もしません。

が、

クリックポストの問題は送り状がA6サイズの癖になぜかPDFはA4サイズで作成されているという所なんですよね。そのまま印刷するとA4用紙の3/4が無駄になってしまいます。

昔はこのスペース部分に『注意事項』や『サイズ』についての記載があったのでその名残だとは思いますが、削除したならしたでサイズも変えろよ・・・と思いますよね。

私は普段「スナップショット」機能を使って必要な部分のみトリミングした後にA6で出力する。という作業をしています。

C#でもPDF操作してトリミング・・・という事は出来なくは無いみたいなんですが、正直そこまでするつもりもありません。

まぁこの辺は『AdobeAcrobatのアクションウィザード』や『Photoshopのドロップレット』で何とかならないかなーと思っているので、そちらで色々試してみようと思います。(うまくいけば後日別記事で書きます)

「まとめ印字」機能への対応

「まとめ印字」機能に対応しました!

・・・と言いつつ、ただ支払い処理後にPDFを保存しない判定を追加しただけです。

ツール上の「実行」ボタンを押すと処理を開始するかどうかのメッセージが表示されますが、その次に以下のメッセージが追加で表示される様になりました。

 

ここで「はい」を選択すると支払い手続き後にPDFの自動保存を行わないため、処理後に「まとめ印字」を使用する事ができます。

上記のメッセージが表示されれば処理完了です。

クリックポストの画面を確認してみると、

この様に未印字の状態となっています。

注意点としては、まとめ印字を行う場合は「お問い合わせ番号」の取得が行えません。

ver1.3より、「まとめ印字」を行った後の問い合わせ番号を回収できる機能を追加しました。

問い合わせ番号回収機能の追加

今までは「実行」を押すと同時に処理が始まっていましたが、「実行」の内容を上図の通り2種類に分けました。

今まで通り送り状の作成を行いたい場合は「送り状作成開始」を押してください。

まとめ印字後の問い合わせ番号を回収したい場合は「まとめ印字後の番号取得」を選択します。

選択後はメッセージの後に以下の入力フォームが出現しますので、何ページ目まで見に行くかという数字を入力して下さい。

問題は「どこを見てそのデータだと判断するか」という所ですが、

「お届け先氏名」が一致すること

「内容品」が一致すること

「配達情報」が「配達完了」になっていないこと

3つの条件全てが一致するかどうかで判定を行っています。

なので、少なくとも既に配達が終わった情報を取ってくる事はありません。

しかし同じ人物に同じ商品を送る場合は問い合わせ番号を正確に取得できないので、そのケースだけは手動で何とかして下さい。ちなみにその場合は上から順に探していって先に見つかった方のデータが入ります。

新バージョン通知機能

「くりったー ver1.3」より新バージョンの通知機能を実装しました。

上図の矢印の先に「最新バージョンの通知」という項目があります。普段は画像の通り灰色になっており選択する事は出来ませんが、新しいバージョンが公開されている場合のみ選択可能になります。

半角カナが文字化けする問題

が、あるそうなんですが今の所「環境(OSのバージョン)に依存」する様で、正確な発生原因などは不明です。ただ正確に言うと文字化けでは無いらしい。少なくとも私の環境では再現できなかったので、対応しようにも改善したかどうかの確認ができないのでどうしようもない。

調べた限りSelenium側の処理の問題もある・・・という情報に行き着いたのですが、ちょっとよく分かっていません。

とりあえず「半角カナは使わない様にする」という条件で使って下さい。

機能の要望について

コメントの内容はすべて目を通していますので、欲しい機能があればコメントを残して下さい。内容次第では追加していきます。

既に何件かは実装済みですので、そこそこ要望は通りやすいと思います。

AmazonとかYahooストアなどからの取り込みも希望があれば対応しますが、操作する画面の情報が必要な関係上、画面を見せて頂くなどの協力をお願いする事があります。

ダウンロード

以下のリンクから本体ファイルをダウンロード可能です。

無料です。好きなだけ使って下さい。


【更新履歴】

■2019/4/17 くりったーver1.1 リリース
 -連続処理に失敗する不具合の修正
 -まとめ申込の公式CSVテンプレートからの取込みに対応

■2019/6/24 くりったーver1.2 リリース
 -「まとめ印字」機能に対応
  ※詳しくはメニュー内の「「まとめ印字」機能への対応」をご覧下さい

■2019/11/4 くりったーver1.3 リリース
 -「まとめ印字」処理後の問い合わせ番号回収機能追加
 -バージョン確認機能追加
 -その他挙動の微調整

■2019/11/6 くりったーver1.4リリース
 -「まとめ印字」処理後の問い合わせ番号回収機能の不具合を修正


使用環境はWindows限定、Chromeインストール必須でお願いします。

そこまで複雑な仕組みのツールでは無いので、マニュアル等は付属しておりません。とりあえず使ってみてもらえれば分かるんじゃないかな・・・と丸投げして様子を見ることにします。

最低限の動作確認は一通りしていますが、動かなかったり明らかにバグっぽいメッセージが表示された場合はコメント等で連絡下さい。

関連記事と広告

コメント

  1. 55Tak より:

    コメント失礼いたします。
    「こんなのを待ってました!」というくらい便利なものをありがとうございます。
    使用させていただいて気が付いたことをお伝えさせていただきます。
    フィードバックくらいの感覚でお読みいただけますと幸いです。

    使用OS : Windows 10 64bit
    Chromeバージョン:73.0.3683.103

    の環境で使用させていただきました。

    CSVからの取り込みまでは順調に進むのですが、「実行」後、1件目のPDF保存の段階で「名前を付けて保存」という画面でその先に進みません。

    手動でクリックするとPDFは保存されますが、その後ストップしてしまいます。
    Chromeのダウンロード設定で「ダウンロード前に各ファイルの保存場所を確認する」のチェックは入れておりません。

    今後のご参考になればと思いご報告させていただきました。

    また当方、1日に10~20件を出力しておりますのでA4に4件までPDFで連即で保存できたら嬉しいですが、おそらく開発が複雑になってしまいますよね。
    今の機能で大変満足しておりますが、お伝えさせていただきました。

    こんな素晴らしいものを無料で使わせていただき感謝しております。
    むしろ有料でも購入いたしますので、メルカリ、ラクマツール含め期待しております。

    長々と失礼いたしました。

    • 藤美れいん より:

      ご使用頂きありがとうございます!
      本来であれば「名前を付けて保存」の画面は出さずに直に設定したフォルダに保存するはずなのですが、うまく動いていない様ですね・・・。
      先ほどこちらでも同じ環境で試してみましたが、問題無くPDFの保存まで完了したので何か別の問題かもしれません。
      もしこちらのコメントをご覧になられた場合、以下の内容に回答頂けると幸いです。
      ・その現象は最初(くりったー初使用時)からでしょうか?
      ・「名前を付けて保存」の画面は毎回必ず表示されますか?
      解決できるかは分かりませんが、原因が分かれば対応させて頂きたいと思います。

      PDFの件は送り状4枚分を1枚のA4に纏めたいという事ですかね?
      確かにやっているソフトは見かけた事があります・・・が、すみません多分それは実装しないです。
      現状技術的に方法が分からないという所と、そもそも私自身が『送り状部分だけを切り取ってA6サイズの用紙に印刷する』という方法でやっていますので、実装するとしたらそっちの方向ですねー

      またアップデートしたら使ってもらえると幸いです!

  2. 55Tak より:

    早速のご回答ありがとうございます。
    「名前を付けて保存」に関しましては私が間違っておりました大変失礼いたしました。
    と、いいますのも「くりったー」をクラウド(one drive)上に保存しており、別のPCから初期設定をしておりました為、「PDF保存先」のパスが別のPCのパスとなっておりました。

    メイン機のデスクトップに保存し直し、「PDF保存先」のパスもデスクトップ上のPDFフォルダを指定してみましたら「名前を付けて保存」の症状は出ませんでした。
    申し訳ございませんでした。

    しかしながら、試しに3件出力してみましたが、
    1件目のPDF作成後に
    「情報取得に失敗しました。再度実行してください」(くりったー上では「済」)となり、

    「実行」→1件目は(済)なので自動的に「2件目出力」→「情報取得に失敗しました。~」となり、1件ずつ「実行」が必要となっております。

    CSVに記入している情報は、「氏名」「〒」「住所1」のみでございます。
    これは通常「実行」ですと3件一気に進み。「PDFの作成に成功しました」となるものでしょうか?

    長々と申し訳ございません。
    よろしくお願いいたします。

    • 藤美れいん より:

      返信が遅くなり申し訳ありません。

      >これは通常「実行」ですと3件一気に進み。「PDFの作成に成功しました」となるものでしょうか?
      そうですね、本来は全件一気に処理を行うはずです・・・が、申し訳ありません!
      確認した所バグが残っていてうまく動作していなかった様です。

      連続処理を行ってもエラーが出ない様に修正しましたので、お手数ですがもう一度ダウンロードしてお試し頂けると幸いです。

  3. daihuku より:

    クリックポストの支払いが面倒でしたので、大変助かっております。
    一つ気づいたことがありますので、コメントさせて頂きます。
    クリックポストではまとめて印刷という機能があり、登録した送り状をA4に送り状4枚まとめて印刷することができます。
    ただ、一度PDFで出力した送り状については、この機能が利用できなくなります。
    こちらのツールについてもPDF出力を省いて、登録のみできれば、まとめて印刷が利用できますので、そちらのほうが便利かと思います。
    修正頂けたら大変助かります。宜しくお願い致します。

    • 藤美れいん より:

      ご意見ありがとうございます!

      あーそうですよね。以前にも同様の問い合わせがあった事を忘れていました・・・。
      ダウンロード数もそこそこある様なので、まとめて印刷機能を使用する場合の処理についても近々実装しようと思います。

      現時点で正確な時期についてはお答えできませんので、定期的に当ページをご確認頂けると幸いです。

    • 藤美れいん より:

      早速ですが本日修正版を公開しました。
      一応A6用紙直に印刷するケースもありますので、PDF保存機能はメインで残っているままです。
      まとめ印字用に「PDFを保存しない」という機能を選択肢として追加する形で実装しております。

  4. ぱんだ より:

    はじめまして。こちらのソフトダウンロードさせて頂き使おうとしたところ
    取引ナビのURLをコピペしOKを押すとNET Frameworkの例外エラーが発生してしまいます。
    エラー内容は「Cannot start the driver service on http://localhost:51090/」と記載されています。
    当方の環境は64bitのWindows7です。対処法お分かりであればご教授頂ければ幸いです。宜しくおねがいします。

  5. MAY より:

    はじめまして!
    最近クリックポストを仕事で使用始めたのですが、安くて便利!ではなく、まあまあな不便具合で色々調べていたところこちらを見つけまして使わせていただいています。
    結果、、、とっても便利です!ありがとうございます!!!
    ですが、使用している環境によって思いもしなかった文字化けが起こってしまい、解消できるなら解消いただきたくコメントさせていただきました。
    当方で検証(簡単ではありますが)した結果、下記環境では問題ありません。
    32bit Windows7Professional
    ところが、下記環境では何故か内用品の項目部分のみ必ず文字化けが起こります。
    64bit Windows10Pro
    よろしくお願い致します。

    • 藤美れいん より:

      ご報告頂きありがとうございます!
      時間がある時に修正させて頂きますね。(すみませんが時期については未定です)

      • 匿名 より:

        コメント確認ありがとうございます!
        修正お待ちしております。
        ちなみに後日、この文字化けの件で発覚したのですが、どうやらカタカナが文字化けを起こすようです。
        漢字の場合は文字化けを起こさずそのまま反映できておりました。
        補足でした。
        以上、よろしくお願い致します。

        • MAY より:

          匿名 より:
          2019年9月10日 3:24 PM
          ⇛名前の記載が漏れており失礼致しました。
          MAYです。よろしくお願い致します。

  6. 相方さん より:

    本日くりったーver1.2使用させて頂きました。とても素晴らしいツールだと思います
    ご報告ですが、内容物欄に記入された半角カタカナの文字がクリッター画面では
    正常に表示されていますが、クリックポストにペーストされた際に文字化けしております
    環境はWindows10 64bit Google Chrome : 78.0.3904.70(Official Build) (64 ビット)です。

    まとめ印字にも対応されてますので、これに問合せ番号を取得できる機能があれば最強だと思います。製品版になっても購入したい商品です!ご検討おねがいします><

    • 藤美れいん より:

      半角カナですかー・・・以前にも別の方から同様の文字化け報告を頂いたのですが、やはり対応が必要かもしれませんね。
      まとめ印字出力後の番号取得とあわせて対応してみますね!

      ちなみに、有料には絶対にしないので安心して使って下さい!

  7. れっど より:

    れいんさん、はじめまして!

    とても便利で毎日使用させて頂いています!
    このような素晴らしいものを無料で使わせて頂きありがとうございますm(_ _)m

    もし可能でしたら以下二点を変更して頂けたら助かります!!

    1.住所欄文字数のチェック機能
    住所欄など読み込んだ文字数がオーバーすると「未入力、または文字数オーバー」とメッセージが表示されます。「OK」を押す事になるのですが、例えば一度に20件分の文字数オーバーがあると20回「OK」を押す必要があります。
    文字数オーバーの部分は赤色で表示されとてもわかりやすいのでこのメッセージは1回のみの表示、「OK」も1回押すのみに変更して頂く事は可能でしょうか?

    2.住所欄の文字数オーバーを自動で「住所2」に移動させる
    マンションにお住まいの方の住所ですと殆どの方は20文字をオーバーします。そのため「住所1」の欄に収まりません。日々使っていて思ったのがほとんどの場合、番地以降を住所2に移動させれば住所1も住所2も文字数オーバーすることがありません。そのため番地以降を自動的に住所2へ移動させる仕様に出来ないでしょうか?
    毎日20件ほどは文字数オーバーで手動でコピペをする必要があり仕様の変更をしてもらえたらと思いました。

    お急がし中申し訳ないのですがご検討頂けますと幸いです。

    • 藤美れいん より:

      >20件分の文字数オーバーがあると20回「OK」を押す必要があります。
      すみません、これは私の確認不足ですね。
      検出できるかだけテストしてたので、複数件あった場合の確認をしてませんでした。
      ご指摘通りメッセージは1回出せば十分だと思いますので修正しておきます。
      ———————————
      「2」の内容も考えた事はあるんですが、
      「どこまでを番地として認識するか」が難しくて考えるのをやめたんですよね。
      ■(スペースで区切られていると仮定して)スペースの左側を住所1、右を住所2にするケース
       ⇒スペースで分けられていない場合は機能しないので×
       ⇒人によって県、市区町村でもスペースで区切っている場合があるので×
       ⇒勝手に1、2と分離させる事で逆に迷惑になる場合があるので×
      ■数字の後に日本語がある場合は、数字の部分までを番地と判断して分けるケース
       ⇒人によって「○丁目○番○号」という風に番地に日本語を含める場合があるので×

      などですね。
      表記が統一されているケースなら可能なんですけど、不特定多数の方が使う事を想定しているのでどれかの方法を採用するってのは中々難しいんですよね。
      まぁ分割方法の選択肢を用意しておいて、シーンに応じて使い分けてもらうって方法であれば良さそうな気はしますが。

      一応参考にさせて頂きたいので、番地とそれ以降を判断する基準を教えて頂いても良いですか?
      ※れっどさんがお持ちのデータの場合で結構です

      • れっど より:

        早速ご対応頂きありがとうございます。

        >2.住所欄の文字数オーバーを自動で「住所2」に移動させる
        上記の件ですが、私が使っているデータをもとにお話をさせて頂きます。

        直近1000件を確認したところAタイプ986件、Bタイプ13件、Cタイプ1件でした。

        Aタイプ
        千葉県千葉市中央区打瀬1-2−3
        リバーアイランド302

        Bタイプ
        千葉県千葉市中央区打瀬1丁目2-3
        リバーアイランド302

        Cタイプ
        千葉県千葉市中央区打瀬1丁目2番地3
        リバーアイランド302

        そのため日本語の後の数字の部分以降を住所2へ自動的に移動されるようになると
        と文字数オーバーになりません。

        もちろん、れいんさんのおっしゃる通りこれは私の場合であり皆さんに当てはまるとは限りませんので
        ご参考にして頂ければと思います。

        本当にくりったーが便利で手放せなくなっております。
        何かデータの提供などお役に立てる事がありましたら教えて下さい。

        よろしくお願い致します。

  8. れっど より:

    こんにちは!

    私にだけかもしれませんがご連絡させて頂きます。

    使用パソコン
    Windows10

    「問い合わせ番号回収機能の追加」ですがクリックポストの「まとめて印字」をしたものに関しては番号の回収が行われません。

    具体的には「まとめ印字」機能を利用しますか?にて「はい」を選ぶ、その後クリックポストのサイトで「まとめて印字」を行う。この後くりったーにて「まとめ印字後の番号取得」を実行。クリックポストの画面が開き取得を行っているような動きはするのですが終了後、くりったー側の問い合わせ番号を確認すると空欄になっています。

    「まとめ印字」機能を利用しますか?にて「いいえ」を選んだものに関しては問い合わせ番号が回収できています。

    ご対応頂けますと幸いです。

    よろしくお願い致します。

    • れっど より:

      追記
      くりったーはver.1.4です。

      • 藤美れいん より:

        ご連絡頂きありがとうございます!
        すぐの対応は出来ないのですが、なるべく早めに対応させて頂きます。

        • れっど より:

          ありがとうございます!
          お忙しい中申し訳なございませんがまたよろしくお願い致します!

          それにしても本当にくりったーには助けられております。
          素晴らしいものを使わせて頂き本当にありがとうございます!

  9. つっちー より:

    素晴らしいソフトありがとうございます。
    パート従業員にも使わせたいのですがオプションのPW、セキュリティNo
    の非表示をお願いしたいと思います。
    自分だけで使うのであれば良いのですが他人に使わせるにはセキュリティ面が丸見えなのでちょっと怖いです。