● WordPress・Win10 ~ UWSCとBasp21を使って、キャプチャ画像をFTP自動送信し、その画像のImgタグを自動生成する(「OnePress Image Elevator」プラグインのかわり)

目次
 ★ Basp21のダウンロードとインストール
 ★ 「Basp21でのFTPとタグ生成.uws」
 ★ 設定例
 ★ 「Basp21でのFTPとタグ生成.uws」プログラム解説コメントつき
 ★ 「src.jpg」から「src - コピー.jpg」をいちいち作る手間を解消
※Shift+TABキー、もしくは、Homeキー、Homeキー+TAB数回、を押すと、目次付近に戻れます。

このプログラムは「OnePress Image Elevator 」プラグインのかわりです。

ここんとこ「OnePress Image Elevator 」プラグインを使っていたのですが、記事と画像が増えるとMySQLが肥大化しそうでバックアップが大変そうな気がしたので(バックアップで障害が出るのも嫌なので)、画像をMySQLの外に置きたいと思いました。

それと、「テキストモード」で貼り付けしたいとき、なぜか僕のはCtrl+Vですべてが貼り付けができず、右クリックして「貼り付け」しないといけないのですが、原因究明するのも面倒くさいので、UWSCで処理する方法を考えてみました。

Ctrl+Vが常時使えない状況になってしまったので「OnePress Image Elevator 」プラグインは削除することにしようと思います。(後日悩んでから削除しましたが、やっぱり、削除して良かったです。)

というわけで、UWSCとBasp21でデスクトップ画面やWord画面をキャプチャした画像を、自動でFTP送信して、Imgタグの自動生成(とりあえず以下のサンプルではクリップボードに送るところまで)をやってみました。

次のような操作でできます。

(a)デスクトップに「src.jpg」(50×50ピクセルの白画像)をひながたとして置いておく。
(b)「src.jpg」をデスクトップ上で右ドラッグでコピー。必ず「src - コピー.jpg」というファイル名になりますのでそれを利用します。
(c)キャプチャした画像を「src - コピー.jpg」に貼り付けして上書き保存
(d)あとは後述のUWSファイル(「Basp21でのFTPとタグ生成.uws」)を作ってダブルクリックすれば、指定したFTPディレクトリへの画像の自動FTP送信とそのURLでのImgタグの自動生成をしてくれます。

生成されたImgタグをWprdPressの画面に直接タグを貼り付けることもできますが、とりあえず、トラブル回避のため、クリップボードに送るとこまでにしてみました。

UWSファイルをダブルクリックした後の動作の流れとしては次のような感じです。

(e)「src - コピー.jpg」をPCの「D:\WPIMG\」フォルダに、日時のファイル名を付けてコピー
(f)Basp21を呼び出し
(g)FTPサーバに接続
(h)よくわからないけど一応パッシブモードにする
(i)バイナリモードで画像をFTPでアップロード
(j)FTPサーバから切断
(k)FTPディレクトリの設定情報をもとに画像のURLを生成
(l)生成されたURLをもとにImgタグを生成
(m)生成されたImgタグをクリップボードに送る

操作の前半で「OnePress Image Elevator」より少し手間がかかりますが、でも、白地のひな型jpgを右ドラッグでコピーして画像を貼り付けて保存するだけなので、十分代用になるかな・・・と思いました。UWSCなら右クリックコピーからやって、画像の貼り付けの判別もできるかもしれないですね。(保存しますか?のダイアログが出るまで待機させとくとか・・・)

ファイル名をコピーしたりするのはUWSCの作法を調べるのが面倒でしたので、コマンドプロンプトを使ってしまいました。

あと、PDFのアップロードとリンクへのタグ生成も同じような形でできそうです。

いずれにしましても、これでMySQLの中はテキスト中心にできそうなので、バックアップ容量がアホみたいに増えなさそうですこし安心・・・、というか、ホッとしています。

FTPディレクトリの構造によっては、少し作り変えが必要だと思います。

★ Basp21のダウンロードとインストール
http://www.hi-ho.ne.jp/babaq/basp21.html からダウンロードできます。
今回の記事では、ちょっと古いバージョンを使いました。
このページの「?Down Load! Bsmtp20070303.lzh (70.1KB) 2007/03/24 Update! 」と書かれたダウンロードリンクからダウンロードしたものです。32bitのWin10でも64bitのWin10でもこれでいいみたいです。

インストールは、普通にやれはOKです。ただ、64bitのWin10Proにインストールする際は、経過を示すプログレスバーの画面が出てからかなり長かったです。気長に待ってインストールしてください。
なお、僕は常に、Windows10の「Program Compatibility Assistant Service(プログラム互換アシスタント?)」というサービス(目には見えない裏方で動くソフト)を無効に設定しているのですが、もしインストールがうまくいかなかったら同様にそのサービスをOFFにしてインストールしてみてください。本来なら、多分OFFにせずともインストールできるとは思うのですが・・・。

インストールが完了すれば、UWSCからもVBAからも呼び出してFTP送受信やメール送信などができるようになります。

では以降、UWSCのファイルの内容です。
コピペしてテストしてみてください。

ダメだったらご自分の環境に合うようにプログラム自体を書き換えてください。
D:\WPIMG\に FTPのログも残るのでそれも見て参考にしてください。

ホームページが初めて、という方には少々難しいかもしれませんので、よくわかる方に見てもらってください。でも運が良ければ、ご自分でも設定や動作が成功すると思います。頑張ってみてください。

  
  
★ 「Basp21でのFTPとタグ生成.uws」

  
  
  
★ 設定例

例えばプロバイダからもらった情報が以下のような場合・・・、

ホームページのURL:http://www.12345678900.ne.jp/~myhp01/
FTPサーバ名:www.12345678900.ne.jp
FTPユーザー名:piyopiyo
FTPパスワード:12345
ルートの階層のディレクトリ名:public_html
アップしたい場所のFTPのサブディレクトリ名(1階層め):imgfoider01

・・・以降に示したような設定になります。

上記はレンタルサーバじゃない場合の一例でしたが、逆にレンタルサーバなどの場合で以下のような設定の場合なら・・・、

ホームページのURL:http://12345678900.ne.jp/ (wwwとか付いてない場合)
FTPサーバ名:ftp.12345678900.ne.jp
FTPユーザー名:piyopiyo
FTPパスワード:12345
ルートの階層のディレクトリ名:12345678900.ne.jp (URLと同じ)
アップしたい場所のFTPのサブディレクトリ名(1階層め):imgfoider01

・・・以降に示したような設定になります。

  
  

★ 「Basp21でのFTPとタグ生成.uws」プログラム解説コメントつき

では、以下、プログラムの解説です。
横に長いですので、メモ帳か他のテキストエディタにコピペしてお読みください。
例えばTerapadというテキストエディタだと、表示→編集モード→PHPで、コメント部分だけが緑色になるので読みやすくなると思います。

★ 「src.jpg」から「src - コピー.jpg」をいちいち作る手間を解消

2017/07/29追記
「src.jpg」から「src - コピー.jpg」をいちいち作るのが手間だったので作業が終わった後、「src.jpg」の内容を「src - コピー.jpg」に上書きして白地にしてしまうことにしました。

これでキャプチャ画像を貼り付けるときに、「src.jpg」から「src - コピー.jpg」をいちいち作る手間がなくなり、「src - コピー.jpg」をダブルクリックで開くだけになりますので、また少し手数が減るので、使いやすくなると思います。

プログラムを追記するのは2か所です。

まず一番先頭の行の
PCUserName = "user01"
のあとに、
PCDesktopQrgJpegName = "src.jpg"
と追加でコピペします。

次に、一番最後の
SENDSTR(0,ImgTAG)
の行のあとに、以下の行をまるっと追加でコピペします。

//白地の50x50の画像内容を、「src - コピー.jpg」に上書き
DosCmd("copy <#DBL>C:\Users\" + PCUserName + "\Desktop\" + PCDesktopQrgJpegName + "<#DBL> <#DBL>C:\Users\" + PCUserName + "\Desktop\" + PCDesktopSrcJpegName + "<#DBL>" )

以上で完了です。

こうなりますと、「src - コピー.jpg」自体がある意味要らなくなることはなりますが、「src.jpg」の白地の50x50の画像も残しておいたほうが、WordPress以外の画像処理の作業にも使えるので、一応残しておきます。