効率化どうもこんばんは!HYPのこうじです。最近、YahooからYahooへの移行代行を請け負う事があったのですが、その時の話です。簡単に言うとYahooショッピングをもう1店舗出店するという感じですね。現在のYahooショッピングは多少ポイント負担分が増えたとはいえ、楽天等と比べても比較的リーズナブルっていうか殆どタダに近いです。いう事もあって、もし店舗内にごちゃごちゃと商品が入り混じっているよりかは、商品のコンセプトによって振り分けてイメージに合ったサイト作りをするだけでも若干売れ行きも変わることがあるようです。そんなこんなで、モールのデータ移行と言えば流れとしては、大体こんな感じ。新規店舗の初期設定を行う。カテゴリーデータをアップロード。移行元店舗から、実際に移行する商品を選ぶ。不思議なチカラを使って、データ内URLを新規店舗用に置き換える。商品データCSVをアップロード。不思議なチカラを使って、使用画像を全て抽出。商品画像をアップロード画像アップロードで困ったみなさんお気づきかもしれませんが、ストアクリエイターPROの画像一括アップロードの最大容量は25MBまでなんです。2~300ファイルくらいならまぁポチポチ25MBずつ分けて圧縮してあげようかな~とか考えてましたが、そんな優しいファイル数ではありませんでした。こ、これは眠くなる...と言うよりこんな生産性の無い作業したくない...。せや!機械にやらせたろ!と言うわけで、25MB毎に振り分けて圧縮するアプリを作ってみました!い、一応時間シミュレーションしてるから、『制作時間でアップロード終わるんじゃね?』なんて事は無いよ!!アプリ作成開始まずはどういう風に作ろうかな今回のコンセプトはこんな感じです。元ファイルは一切変更しない。区切るバイト数を選択出来るようにする。しやすいように、フォルダにすべて仕訳け。開始前に出力先は初期化する。(いっつも消し忘れてごっちゃになるので)頑張らない。途にも角にも画面が無いので始まらないので作ります。ファイルを選ぶためのボタンと、区切るバイト数を入力する欄。これだけあれば実現出来ますね!さて打ち込みを開始してきましょう!打ち込み開始!ファイル選択処理ファイル処理選択には『OpenFileDialog』クラスが便利です。MSDNフォームアプリの場合はそのまま使えますが、WPFアプリの場合は『Microsoft.Win32』の参照が必要です。フォームアプリ慣れしている人には何気にブービートラップです。最初無いのかと思ってました。今回は複数ファイル選ぶ可能性があるのと、画像以外選んでほしくないので、フィルタをかけます。"画像ファイル(*.jpg;*.gif;*.png)|*.jpg;*.gif;*.png";選択したら、選択ファイルパスを適当な変数に格納しておきます。出力処理前に、数値かどうか判断させればいいので、完全に自己満足です。出力ボタン処理データが正しいかチェックまず、処理前にデータが正しいかチェックさせます。チェックする内容は下記の内容です。上記がそろったら、全てのファイルパスを回してファイルの存在を確認しています。ファイル選択した後、そのファイルが削除されていたり移動されてるかもしれないからです。『かもしれない』運転は大事。仕組みとしてはこんな感じ。合計ファイルサイズが指定バイト数に達するまでコレクションに追加。合計ファイルサイズが指定バイト数を上回る場合、新しいコレクションを作成して新規追加。全ての選択ファイルパスをループ。ファイル数が限界突破してしまう場合は、新しくインデックスを作成して追加。true);}}振り分けたフォルダを圧縮する振り分けが終わったら、全部のフォルダ内容を圧縮。圧縮には『ZipFileクラス』で簡単に可能です。便利な世の中になりましたね!ちなみにZipFileクラスは『System.IO.Compression』の参照が必要です。MSDN完成!さっそく使ってみるとりあえず約9000画像ファイルを振り分けてみたいと思います!25ギリギリだと不安だったので、24MBにして出力してみました。出力値設定できるようにしといてよかった!上手くいくかな!?固まった...。出力された!数十秒で終わりました!これは楽ちん!微妙に何枚か入るんじゃないか?っていう微妙な容量になってますが気にしない。結局アップロードは変わらないまぁ今更ですが、ただ仕訳して出すだけなのでアップロードは手動です。ストアクリエイターProのアプロダは、『誰かがアップロード中はアップロードできない』という素晴らしく舐めた機能付きなので、片手間でのんびりアップロードしていくしかありません(笑)ちなみにこの後、追加で5800ファイルありました。作ってよかった!終わりこれで同じような案件来ても、げんなりしなくて済みそうです!今回も前回同様コピペで使えるとかじゃないですが、使いようによってはラク出来るよっていうのを伝えたかったんです。あと自分とか身内で使う用だと、あまり体裁を気にしなくてもいいのがラクですね!余談ですが、この前たまたまC#6.0の新機能動画みたら『めちゃくちゃ楽そう!』とか思いました。コードが冗長な石器人ので、その前にラムダ式とかLINQとか使いこなしたいですね!頑張ります!こうじWEBクリエイター+Windowsアプリいつもする作業をもっとミス無く楽ちんに出来るような環境が提供できれば幸いです。道央編(大滝~千歳)2017.04.07もっと見る生活&ダイエット生活Instagramはじめてます。2018.10.11生活&ダイエット2018年、明けましておめでとうございます!2018.01.01生活&ダイエット2017年ありがとうございました。写真を売って、お小遣い稼ぎ!2017.05.15生活&ダイエット実家のデグーに会ってきました!その22017.05.13もっと見るその他その他メンフクロウさん、商品化!2016.08.31その他やり遂げる力、グリット!2016.07.25その他PIXTA写真、母の日に使えるものもあるよ。2016.03.29その他PIXTA写真素材UPしました。2016.03.27その他PIXTA写真素材UPしました。無料もあるよっ!2018.11.04デザイン赤ちゃん写真の販売を開始しました。コントリビューター登録をして半年くらい経過したよ。2017.12.06もっと見るただしお化け屋敷。