プログラミングTweet扱えるプログラミング言語を増やさないとなーという事で、C#の勉強がてら適当に作ってみたツールを公開してみる事にします。ツールの内容は「クリックポストの自動作成(登録?)ツール」です。参考にしたのはChromeウェブストアにあったこちらのツール。※こちらはChrome拡張ですが、「コンセプト」を参考にしただけで仕様やデザインは全く別物になっています。お値段3,800円!中々の価格ですね。見てみるとサポートも込みっぽいしまぁ妥当・・・なんですかね。相場は分かりませんが同様のツールがほとんど無く、単純に競合相手がいないっぽいのでそこそこ売れている様子。需要はあるみたいなので、公開すれば使ってもらえる可能性はある!・・・という事で決定。本当は私もChrome拡張で同じ物を作ろうと考えたのですが、UI(ユーザーインターフェイス)部分のhtml+CSSも全て自分で構築していかないといけないという事だったので断念。ウェブ系得意じゃないんですよ・・・。得意じゃないならむしろそっち(ウェブ)系の技術習得も兼ねてChrome拡張で作った方が良かったんじゃないかという気もしますが、そこはまたの機会という事で。今回はC#でタスクトレイに常駐する様なツールを作ってみました。外観まずツールの外観はこちら。略して「くりったー(Clitter)」。・・・名前は正直適当です。起動後は下図の様にタスクトレイに常駐しているので、アイコン上で右クリックを行いメインメニューの表示や終了操作を行って下さい。取込方法としては、以下の二つを用意しています。⇒取り込み先のURLを入力(コピペ)すると、自動的に住所情報を取得します。※以下のページのURLをコピーして貼り付けて下さい。正常に動作しない可能性があります。⇒データ入力済みのCSVファイルから一括で取込を行います※フォーマットは固定なのでサンプルを同梱しています。⇒クリックポスト標準の「まとめ申込」用CSVにも対応(ただし敬称設定は使用不可)取込を行ったデータは手動で編集可能。セル上になっている箇所をダブルクリックする事で編集状態にする事ができます。「操作」タブから行を追加する事ができるので、取込機能を使用せず最初から手入力も可能です。デフォルトでは非表示になっていますが、「住所1、2」で足りない場合に入力する「住所3,4」は「表示」タブから表示/非表示の切替が行えます。クリックポスト発送登録後に取得できる「問い合わせ番号」も表示可能。一々PDFを確認したり、クリックポストのページを見に行く必要が無い様にしています。チェック機能搭載クリックポストは発送先氏名や住所を入力する際、1行あたり全角20文字(半角40文字)といった文字数上限が設定されています。登録時にエラーとならない様、「実行」ボタンを押した段階で事前にチェックを行う仕様となっています。[参考画面]仕組み「どうやってクリックポストの発送登録を行っているか」についてですが、みんな大好きSeleniumを使ったブラウザ自動操作で実現しています。(いつもの)APIは提供されていませんし他に方法が無いですからね。登録処理実行中は画面右下の方でブラウザがごそごそやっているのか見える状態となっています。↓以下の画像は別のツールのものですが、動作中のイメージはこんな感じ。ID」または「Amazonアカウント」のいずれかが必須となっています。ブラウザ操作の途中でこの部分のログイン操作も行う必要があるため、実行前の段階でツールにアカウント情報を入力しておく必要があります。「ファイル」タブから「オプション」を選択すると以下の入力フォームが表示されるので、予めアカウント情報を入力しておいて下さい。(入力例)今の所ヤフオクアカウント限定です。Amazonでのログインに対応する予定は無いですが、もし要望があれば実装する・・・”かも”しれません。セキュアコード」はクレジットカードの3桁のセキュアコードを指します。この数値が必要な理由は、以下の支払い手続き画面で入力する必要があるためです。実際に支払いまで自動化してしまうのはちょっと不安に思うかもしれませんが、クリックポストは発送登録を行った時点で引き落とされる訳では無いので安心して下さい。実際に配送料金が引き落とされるタイミングは郵便局で引き受け処理を行った段階(バーコードを読み取った時)になるので、仮に間違ったデータで送り状を作成してしまっても、それを使わなければ良いだけです。※これはクリックポストのQ&Aにも記載されている内容です。スポンサーリンク使用後の印刷についてクリックポストの送り状作成後は、オプションで指定したフォルダにPDFが格納されている状態となります。印刷自体はユーザーが任意のタイミングでしてもらえれば良いかなーと思っているので、ツール側では保存した後は何もしません。クリックポストの問題は送り状がA6サイズの癖になぜかPDFはA4サイズで作成されているという所なんですよね。そのまま印刷するとA4用紙の3/4が無駄になってしまいます。昔はこのスペース部分に『注意事項』や『サイズ』についての記載があったのでその名残だとは思いますが、削除したならしたでサイズも変えろよ・・・と思いますよね。私は普段「スナップショット」機能を使って必要な部分のみトリミングした後にA6で出力する。いう作業をしています。C#でもPDF操作してトリミング・・・という事は出来なくは無いみたいなんですが、正直そこまでするつもりもありません。この辺は『AdobeAcrobatのアクションウィザード』や『Photoshopのドロップレット』で何とかならないかなーと思っているので、そちらで色々試してみようと思います。「まとめ印字」機能に対応しました!・・・と言いつつ、ただ支払い処理後にPDFを保存しない判定を追加しただけです。ツール上の「実行」ボタンを押すと処理を開始するかどうかのメッセージが表示されますが、その次に以下のメッセージが追加で表示される様になりました。ここで「はい」を選択すると支払い手続き後にPDFの自動保存を行わないため、処理後に「まとめ印字」を使用する事ができます。上記のメッセージが表示されれば処理完了です。クリックポストの画面を確認してみると、この様に未印字の状態となっています。注意点としては、まとめ印字を行う場合は「お問い合わせ番号」の取得が行えません。ver1.3より、「まとめ印字」を行った後の問い合わせ番号を回収できる機能を追加しました。今までは「実行」を押すと同時に処理が始まっていましたが、「実行」の内容を上図の通り2種類に分けました。今まで通り送り状の作成を行いたい場合は「送り状作成開始」を押してください。まとめ印字後の問い合わせ番号を回収したい場合は「まとめ印字後の番号取得」を選択します。選択後はメッセージの後に以下の入力フォームが出現しますので、何ページ目まで見に行くかという数字を入力して下さい。問題は「どこを見てそのデータだと判断するか」という所ですが、1「お届け先氏名」が一致すること2「内容品」が一致すること3「配達情報」が「配達完了」になっていないことの3つの条件全てが一致するかどうかで判定を行っています。少なくとも既に配達が終わった情報を取ってくる事はありません。同じ人物に同じ商品を送る場合は問い合わせ番号を正確に取得できないので、そのケースだけは手動で何とかして下さい。ちなみにその場合は上から順に探していって先に見つかった方のデータが入ります。ver1.3」より新バージョンの通知機能を実装しました。上図の矢印の先に「最新バージョンの通知」という項目があります。普段は画像の通り灰色になっており選択する事は出来ませんが、新しいバージョンが公開されている場合のみ選択可能になります。半角カナが文字化けする問題が、あるそうなんですが今の所「環境(OSのバージョン)に依存」する様で、正確な発生原因などは不明です。正確に言うと文字化けでは無いらしい。少なくとも私の環境では再現できなかったので、対応しようにも改善したかどうかの確認ができないのでどうしようもない。調べた限りSelenium側の処理の問題もある・・・という情報に行き着いたのですが、ちょっとよく分かっていません。「半角カナは使わない様にする」という条件で使って下さい。CSVデータの住所自動分割についてコメントで頂いた要望を取り入れてみました。CSVから取込を選択した際、「タイトル行は含まれていますか?」の選択肢の後に以下の選択肢が表示されます。ここで「はい」を選択すると、住所1のデータを番地で自動的に区切ってそれ以降の住所を住所2にセットします。例として、以下の様なデータのCSVを読み込むとします。これを自動分割処理ありで読み込むと・・・この様に番地と思われる部分までを自動認識して、「住所1」「住所2」に分割してセットしてくれるという訳です。この分割機能については以下の条件に一致している必要があります。1番地は「半角数字(123...)」または「全角数字(123...)」であること。※漢数字(一二三...)やローマ数字(IIIIII...)は対象外2表記が「丁目番地号」または「-(ハイフン)」区切りであること。上記以外の文字(スペース含む)を検出した時点で番地終了と判断し、その位置より後ろの部分を住所2にセットする仕様になっています。機能の要望についてコメントの内容はすべて目を通していますので、欲しい機能があればコメントを残して下さい。内容次第では追加していきます。何件かは実装済みですので、そこそこ要望は通りやすいと思います。AmazonとかYahooストアなどからの取り込みも希望があれば対応しますが、操作する画面の情報が必要な関係上、画面を見せて頂くなどの協力をお願いする事があります。ダウンロード以下のリンクから本体ファイルをダウンロード可能です。好きなだけ使って下さい。使用環境はWindows限定、Chromeインストール必須でお願いします。そこまで複雑な仕組みのツールでは無いので、マニュアル等は付属しておりません。使ってみてもらえれば分かるんじゃないかな・・・と丸投げして様子を見ることにします。最低限の動作確認は一通りしていますが、動かなかったり明らかにバグっぽいメッセージが表示された場合はコメント等で連絡下さい。自作のツールを公開すると後々何らかのメッセージを表示させたり、最悪動かせない様に止めたいなーと思う事が多々あると思います。今回はその中で...記事を読むあなたは古物商許可証が必要?対象になる人と取得方法について自分は古物商許可がいるのかいらないのか、どうやって取得するのかを説明したページです。取った方がいいのか悩んでいる人はぜひ見て下さい。記事を読むメルカリの検索表示アルゴリズムが修正されている件についてタイトルの通り、メルカリの商品検索によって表示される商品の仕組みが若干変わっている様です。Script(以下GAS)上で配列、連想配列を扱う際の記述方法について纏めてみます。今回で初回のウェブスクレイピングツール編は最後になります。クラウドソーシングで稼げるのか...記事を読むGASの連想配列の扱い方について(定義、要素の追加、削除)前回は”配列”についての解説を行いましたが、今回は”連想配列”と呼ばれるものの解説を行います。PMコメント失礼いたします。「こんなのを待ってました!」というくらい便利なものをありがとうございます。使用させていただいて気が付いたことをお伝えさせていただきます。フィードバックくらいの感覚でお読みいただけますと幸いです。64bitChromeバージョン:73.0.3683.103の環境で使用させていただきました。CSVからの取り込みまでは順調に進むのですが、「実行」後、1件目のPDF保存の段階で「名前を付けて保存」という画面でその先に進みません。手動でクリックするとPDFは保存されますが、その後ストップしてしまいます。Chromeのダウンロード設定で「ダウンロード前に各ファイルの保存場所を確認する」のチェックは入れておりません。今後のご参考になればと思いご報告させていただきました。当方、1日に10~20件を出力しておりますのでA4に4件までPDFで連即で保存できたら嬉しいですが、おそらく開発が複雑になってしまいますよね。今の機能で大変満足しておりますが、お伝えさせていただきました。こんな素晴らしいものを無料で使わせていただき感謝しております。有料でも購入いたしますので、メルカリ、ラクマツール含め期待しております。PMご使用頂きありがとうございます!本来であれば「名前を付けて保存」の画面は出さずに直に設定したフォルダに保存するはずなのですが、うまく動いていない様ですね・・・。先ほどこちらでも同じ環境で試してみましたが、問題無くPDFの保存まで完了したので何か別の問題かもしれません。こちらのコメントをご覧になられた場合、以下の内容に回答頂けると幸いです。・その現象は最初(くりったー初使用時)からでしょうか?・「名前を付けて保存」の画面は毎回必ず表示されますか?解決できるかは分かりませんが、原因が分かれば対応させて頂きたいと思います。PDFの件は送り状4枚分を1枚のA4に纏めたいという事ですかね?確かにやっているソフトは見かけた事があります・・・が、すみません多分それは実装しないです。PM早速のご回答ありがとうございます。「名前を付けて保存」に関しましては私が間違っておりました大変失礼いたしました。drive)上に保存しており、別のPCから初期設定をしておりました為、「PDF保存先」のパスが別のPCのパスとなっておりました。メイン機のデスクトップに保存し直し、「PDF保存先」のパスもデスクトップ上のPDFフォルダを指定してみましたら「名前を付けて保存」の症状は出ませんでした。申し訳ございませんでした。試しに3件出力してみましたが、1件目のPDF作成後に「情報取得に失敗しました。~」となり、1件ずつ「実行」が必要となっております。1」のみでございます。これは通常「実行」ですと3件一気に進み。「PDFの作成に成功しました」となるものでしょうか?長々と申し訳ございません。PM返信が遅くなり申し訳ありません。>これは通常「実行」ですと3件一気に進み。「PDFの作成に成功しました」となるものでしょうか?そうですね、本来は全件一気に処理を行うはずです・・・が、申し訳ありません!確認した所バグが残っていてうまく動作していなかった様です。連続処理を行ってもエラーが出ない様に修正しましたので、お手数ですがもう一度ダウンロードしてお試し頂けると幸いです。AMクリックポストの支払いが面倒でしたので、大変助かっております。一つ気づいたことがありますので、コメントさせて頂きます。クリックポストではまとめて印刷という機能があり、登録した送り状をA4に送り状4枚まとめて印刷することができます。一度PDFで出力した送り状については、この機能が利用できなくなります。こちらのツールについてもPDF出力を省いて、登録のみできれば、まとめて印刷が利用できますので、そちらのほうが便利かと思います。修正頂けたら大変助かります。AMご意見ありがとうございます!あーそうですよね。以前にも同様の問い合わせがあった事を忘れていました・・・。ダウンロード数もそこそこある様なので、まとめて印刷機能を使用する場合の処理についても近々実装しようと思います。現時点で正確な時期についてはお答えできませんので、定期的に当ページをご確認頂けると幸いです。PM早速ですが本日修正版を公開しました。一応A6用紙直に印刷するケースもありますので、PDF保存機能はメインで残っているままです。まとめ印字用に「PDFを保存しない」という機能を選択肢として追加する形で実装しております。Frameworkの例外エラーが発生してしまいます。http://localhost:51090/」と記載されています。当方の環境は64bitのWindows7です。対処法お分かりであればご教授頂ければ幸いです。PMはじめまして!最近クリックポストを仕事で使用始めたのですが、安くて便利!ではなく、まあまあな不便具合で色々調べていたところこちらを見つけまして使わせていただいています。結果、、、とっても便利です!ありがとうございます!!!ですが、使用している環境によって思いもしなかった文字化けが起こってしまい、解消できるなら解消いただきたくコメントさせていただきました。当方で検証(簡単ではありますが)した結果、下記環境では問題ありません。Windows7Professionalところが、下記環境では何故か内用品の項目部分のみ必ず文字化けが起こります。Windows10Proよろしくお願い致します。PMご報告頂きありがとうございます!時間がある時に修正させて頂きますね。PMコメント確認ありがとうございます!修正お待ちしております。ちなみに後日、この文字化けの件で発覚したのですが、どうやらカタカナが文字化けを起こすようです。漢字の場合は文字化けを起こさずそのまま反映できておりました。以上、よろしくお願い致します。PM⇛名前の記載が漏れており失礼致しました。