2015年11月18日水曜日

Excel2010 で複数プリンタをマクロとボタンで使い分けてみる

マクロって1行ぐらいで済めば意外と簡単なんですね。

今までVBAをインストールしなかったくらいガチガチの関数派でした、七面鳥です。


住所録と発注書をまとめた Excelブックで仕事をしているのですが、用紙の関係で
前のエントリで取り上げた LP-S440 と複合機と両方使っています。

ご存知の方もいるかと思いますが、Excelはシート毎に用紙設定を持てる一方で、
プリンタ情報は基本的に標準プリンタを使い、設定でプリンタが変わればExcel終了まで
それを保持するという挙動になっています。

このため、印刷シートにあわせてプリンタを切り替えるということになります。

しかしどのシートでどのプリンタを使うかは決まっているため、シートとプリンタの紐付けが
できないものかと思っていました。

結局のところ、印刷するキーマクロを一度とり、それを元にマクロボタンをシート毎に
設ける格好が手っ取り早かったので、それを紹介します。

端的に言えば
https://twitter.com/7mencho/status/563160615829512192

https://twitter.com/7mencho/status/563160923645296641

プリンタ名は、プリンタのプロパティ画面の


この欄内の文字列を”プリンタ名”の""中に入れてやればいいです。


これを仕込んだマクロボタンを設ければ解決となります。
ボタン表示は雑に「【印刷】」などとしておきます。


ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, ActivePrinter:="RICOH MP C3503 JPN RPCS V2", Collate:=True, IgnorePrintAreas:=False

1枚のシートに複数の雛形があって、ページによって使い分けてる場合は
 From:= や To:= の数字をそれぞれ「1」「2」に設定することにより
容易に印刷し分けることができます。

正副(控)など2枚必要なら、正副それぞれのページを作り、From:=を1、To:=を2などに
設定すれば自動で正副ページのみを印刷できます。

また、常に3部必要などの場合は Copies:=を3などに設定すれば、常に必要部数を印刷できます。


なお、ファイルの保存形式は「Excel マクロ有効ブック(*.xlsm)」になりますので、ご注意下さい。

使い慣れると手放せないボタンですので、複数台の切り替えにかぎらず、印刷にお困りでしたら便利かと思います。

こちらからは以上です。

foltia Anime Locker でエンコードが詰まった場合(対処療法)

こちらではお久しぶりです。

最近やっと foltia Anime Locker を使い始めて、なんでもザクザク録画してくれるのに満足しております。

ところが、録画が立て続けになったせいか、あるタイミングから録画は順調だけどmp4へのエンコードが行われなくなってしまいました。

原因は不明ですが、大抵はエンコが詰まった番組のうち、一番古いのに原因があるそうです。

公式サイトにも MP4変換が詰まってしまった時の対処 はあるのですが、これで直接解決しなかったので、
今回自分がとった方法をメモ的に記しておこうと思います。

なお、「データベース直接編集」を多用しますので、操作は慎重に行って下さい。
また、本記事によるいかなる責任も負いません。操作は作業される方自身の責任で行ってください。


1.未エンコードの番組の filestatus を全て「999」にする
   →データベース(以下DB)からログアウト
   →再起動
   →以降の正常動作を確認

 オンラインマニュアルに従って、phpPgAdmin にログインし foltia_subtitle を「選択」する。
  ↓
 「選択」画面が出るので、filestatus の演算子を「!=」にして、右の欄に「200」を入れて、「すべてのフィールドを選択する」チェックを入れて「選択」する。
 ※filestatus 200 がエンコードも含めた完了を意味する模様
  ↓
 ファイルのリストが出てくるので、filestatus が 50 とか 70 などになっているファイルを「選択」し、
 filestatus 欄内の 50, 70 などを「999」に書き換え、「保存」する。
  ※アニラジなど filestatus が 130 のものは無視する
  ※単純に書き換えて保存を繰り返してると、なぜか書き換えてないのに画面から消えていくのがあるので、時々選択画面からやり直すこと。無くなったら選択画面からやり直して、全て「999」に書き換えてあることを確認する。
  ↓
 全て「999」に書き換わったことを確認したら、ログアウトする。
  ↓
 録画一覧などを確認し、再起動に問題なければ再起動する。
 ※再起動にかかる時間は、自分の環境では1~2分程度
  ↓
 そのまま放置し、再起動以後の番組が正常に録画・エンコードされることを確認する

 ここまでが第一ステップ。


2.未エンコード番組のうち、最新のものから filestatus を「50」にする
   →DBログアウト
   →再起動、放置

 再び録画とエンコードが行われることを確認したら、1.の再起動前までエンコードされなかった番組のうち、最新のファイル“のみ”を filestatus 「50」にする。

 これはオンラインマニュアルにある、ファイル名による「選択」を使う。詳しい手順はそちらを参照のこと。
 ※ファイル名の取得は、CAP画面にある m2t ファイルのリンクからURLを取得し、パス(http://~/tv/までの部分)を削除する方法がある
  ↓
 当該ファイルが出てきたら「選択」
  ↓
 filestatus を「999」→「50」 に変更
  ↓
 当該ファイルが「50」に書き換わったことを確認し、ログアウト。
  ↓
 録画一覧などを確認し、問題なければ再起動。
  ↓
 そのまま放置し、当該番組が正常に録画・エンコードされることを確認する

以降は2.の手順を、未エンコード番組の新しい方から愚直に繰り返して下さい。
うまくやれば1日2~3本ずつはエンコードされていきます。

また、この方法でうまく行かない番組は、「999」に書き換えて放置し、他の番組を進めて下さい。


~ 雑感 ~

 公式の方法だと、詰まる原因のファイルを「999」でスキップしろということだが、自分の環境では埒があかなかった。

 そのため、いっそのことと思い未エンコードのファイルを全て「999」にし、DBログアウト→再起動したところ、再びエンコードがかかるようになった。

 その勢いで、エンコードされなかった番組も新しいファイルから「50」にしたところ、とりあえず2~3本は成功するようになったので、まとめてみた。

 なお、再起動をかけるのにしつこく「DB(phpPgAdmin)をログアウトしろ」と書いているのは、どうもこのログアウトの操作を行わなかったことも失敗の一因であるような気がしてるからである。
ログアウトしなくてもうまく動作している環境では、必要ないと思われる。

 また、Linuxに精通していないのもあってか、コマンドラインから ~/perl/ipodtranscode.pl も試してみたがうまく動作しなかったので、cron からの ipodtranscode.pl に頼っている。
※su で昇格してもダメだった。

 また自分の場合は1.~2.の間に2日ほど外出しており、外出前に全て「999」に書き換え再起動・放置していた。そうして土日2日間の録画をさせたところ、無事録画・エンコードされていたので、不調な方は参考にしてほしい。


 こちらからは以上です。

2015年2月6日金曜日

EPSON LP-S440DN MPトレイ ローラー取付方

しょうもないと思いつつも、どこにも復旧方が載ってなかったので、自分メモ的に。

EPSONの LP-S440DN というモノクロレーザープリンタを使っています。七面鳥です。
カセットがMP1+標準1+増設3で計5ヶ所使えて便利です。

で、だいたいどのプリンタにもあるかと思われる、用紙サイズを変えやすいトレイが
あるのですが(MPトレイ)、これを落としてローラーを外してしまいました。


これは付け直した後ですが、こういう格好で付いてます。

このローラー、落としどころが悪いと\ポーン/と外れてしまうのですね。


しかもスプリングが挟まっているので、これを無くすと正常に動作しなくなります。
最初これがわからず、スプリングのない状態で復旧させたところ、給紙エラーが頻発しました。


というわけで、正常な状態の写真を絡めつつ、簡単に復旧方を説明します。


ローラーの受け部です。トレイとほぼ一体成形です。スプリングの立っているところは、十字の
突起があり、そこに嵌めてます。


ローラーを嵌めます。一旦このようにほぼ垂直に立てて嵌めます。
向きはご覧の通りローラーケースの突起が向かって左側、+が下向きになるようにして、
+の突起でスプリングを挟んでください。



完成形はこうなります。

また、トレイ奥、ローラー手前のストッパーは指のところにあり、押すと寝るようになっていますね。






簡単ですが(元々簡素な構造ですし)、お役に立てば幸いです。

2015年2月4日水曜日

SoundCanvas for iOS を音源にして東方シリーズを遊ぼう


念願が一応かないました。




SoundCanvas for iOS がリリースされました。
http://www.roland.co.jp/products/sound_canvas_for_ios/

2月10日まではリリース記念で特別価格の\1,500円にて購入可能とのことです。


すでに各所で報じられているので、こちらでは簡単なおさらいにとどめますが、

・iPhone,iPad上で動作するMIDI音源アプリ
・往年の名器SC-88Proをはじめ、SC-55・SC-88・SC-8820なども再現可能
・外部音源として使用することも可能であり、有線・無線どちらでも接続できる

など、非常に興味深い特徴を備えています。


現在ではPCの性能が上がったため、PCの内部で求める音声を構成・出力
できるようになりましたが、かつては専用の音源が必要でした。
なかでも、MIDIというプロトコルでやりとりされるMIDI音源というのは、PCに
とっては音源のコントロール信号だけを入出力するだけでよく、軽い負荷で
良質な演奏を楽しむことができ、広く親しまれていました。

MIDI音源は’00年代前半までは一定のシェアがありましたが、外付け音源が
不用になってきたことや、mp3などの圧縮音源や携帯電話で音楽を楽しむように
なったことなどから、ワンパッケージの音源を外付けする形のDTMは下火に
なって行きました。

そんなMIDI音源を使用できるゲームに東方プロジェクト(以下東方)というものが
あります。

インディーズのシューティングゲームとしては異例の大ヒットを誇り、また登場
キャラクターや楽曲も熱心な支持を集め、活発な二次創作が展開されているなど
話題の尽きない作品です。

その東方シリーズの中に、MIDI対応の作品がいくつかありました。
Wikipediaに詳しいですが、簡単にいえばWindows版では永夜抄まではWAVと
MIDIとを選ぶことができました。



そこで、今回はSound Canvas for iOS をMIDI音源にして、この東方シリーズをプレイできるように
する方法を紹介します。


【 おことわり 】

初めにことわっておきますが、今回紹介する方法だけでは完全に楽しむことは難しいです。
iOS 端末からは MIDIのBGMのみが再生され、SEはPC本体で再生されるためです。
このため、完全に楽しむためには2つの音声をミキサーであわせる必要があります。

また、無線で接続するためか演奏が遅れたり、消音に一部難があったりします。

※余談ですが、実機のSC-55等にはLINE INがあり、LINE OUTは音源自身の音声と
  LINE IN の音声がミックスされた音声を出力するようになっていました。このため別段
  ミキサー等は必要なかったのです。



【 導入の流れ 】

①お手持ちのiOS端末にSound Canvas for iOS をインストールします。
  演算リソースを食いますので、なるべく高性能な方がいいです

②AppleのBonjourという、LANからApple機器を見つけ出すサービスをインストールします。
  なければiTunesをインストールすれば、一緒にインストールされます

  ※と書いてはいますが、無くても動作するというか、無い方がむしろ見つかるのではないかと
   思います。下記rtpMIDIでエラーが出たら、iTuensの(再)インストールをやる、くらいで
   いいのではないかと思います。

rtpMIDI という、LANでMIDI信号をやりとりするソフトをインストールします。
  http://www.tobias-erichsen.de/software/rtpmidi.html
  ※右側の「download rtpMIDI」をクリックしてください

④下記セットアップの項にあるリンク先を参考にrtpMIDIをセットアップしてください

⑤Windows VISTA以降では、MIDIはWindows内蔵の音源に固定されているので、
  これを変更します。
  rtpMIDIのセットアップが完了したら、「MIDIせれくたー 4.0
  ( http://openmidiproject.sourceforge.jp/MIDISelector.html )を入手・起動し、自分の
  マシン名になっている音源を選択し「適用」をクリックして終了します。

⑥紅魔郷、妖々夢、永夜抄など、MIDI対応の東方を立ち上げ、Option画面でBGMをMIDIを
  選択します。

ここまで済めば、東方のMIDIデータが Sound Canvas for iOS から鳴るはずです。



【 rtpMIDI のセットアップ 】

上記④ですが、rtpMIDI をダウンロードできたら、zipファイルを展開し、出てきた .msi ファイルを
起動し、インストールを進めます。

インストールが終わったら、Windows機側は rtpMIDI を、iOS端末でSound Canvasを起動して、
下記参考リンクのようにセットアップをしてください。

参考:

rtpMIDIの設定メモ。Windows7、Handy Harp(iPhone4s OS7)、StudioOne環境
  http://kohrogi.com/?p=3335

※Sound Canvas for iOS は、特別な設定なしで、起動していれば認識されます。
  MENUなどでの何らかの操作は不要です。

藤本健の“DTMステーション” Sound Canvas for iOS徹底活用術[応用編] ~
  外部音源としてコントロール、レコポ・クローンも!?
 http://www.dtmstation.com/archives/51927370.html



【 rtpMIDI のトラブルシューティング 】

Sound Canvas が見つかればすぐ終わるのですが、見つからないこともあるかと思います。
というか、私はここで躓きました。

見つかる場合は、rtpMIDIを起動すればマシン名もiOS端末もすぐに画面に表示され、
拍子抜けするほど簡単に接続できます。

そうではない場合、特にiOS端末が左下の「Directory」に出てこないということがままあります。
その際は以下を試してみてください。

 ○ iTuens のアンインストールと再インストール

   iTuens関連のプログラムを、コントロールパネルの「プログラムと機能」から一旦全て
   アンインストールします。

   その際、iTuensだけではなく、Apple~で始まるもの全てと「Bonjour」も個別にアン
   インストールします。

   アンインストール時にエラーが出たら、エラーの原因(Apple Mobile なんちゃら)を先に
   アンインストールし、それから他の該当プログラムもアンインストールしてください。

   これらはiTuensをインストールすれば最新版がインストールされます。
   インストール後は手動で再起動をしましょう。


 ○ルーターの設定見直し・ファームウェアの更新

   無線LANのルーター・アクセスポイントには、無線のクライアント同士を接続させない
   分離やセパレータと呼ばれる機能があります。

   これがオンになってると、特にWin機を無線接続している際にiOS端末も無線接続なので、
   両者間の通信ができないことがあります。よってこれをオフにします。2.4Gと5Gと両対応の
   場合は両方ともオフにしてください。


 詳細はお手持ちの機器の説明書をご確認ください。

 また、オフにしているのにうまくいかない場合は、ファームウェアのアップデートや機器のリセット・
 再起動を試してみてください。



こちらからは以上です。

2015年1月20日火曜日

Outlookを使って届いたメールを自動印刷する

標準的なTipsすぎてわざわざブログに起こすのもどうかと思いつつ。


基本連絡手段がアナログな会社に勤めてます。謎の七面鳥です。

連絡手段がアナログなので、受注は未だに電話やFAXが多いです。
メールは見ることは見ますが、営業時間外だったりパソコンを見てなかった時などは
だいぶ怪しいです。

なので、自動で印刷されてたら見落としないし、なんとかそうできないかなと考えてました。


前職でOutlookExpressを使ってたので、OEなら仕分けルールの作成なら手軽に結構
いろいろできそうだと思っていましたが、OEはリリースもサポートもなくなってしまい、
かといってOutlookはスケジュールだカレンダーだと大袈裟な印象で、わざわざ入れる
ほどでもないかなと思っていました。

しかし、他に適当なメーラがなかなかない(ThunderBirdは開発再開?)のもあり、
自動印刷系ツールも何年も前に作られたきりで、結局Outlookが手っ取り早いのかなと
思うようになりました。


実際はこんな感じになります。


仕分けルールもざっくり、送受信を行ったタイミングで全部印刷する、印刷したくないメールは
宛先ごとなどで適当なフォルダ(「未印刷」など)に個別に仕分ける、で概ねなんとかなるように
なりました。

スパムに悩まされる場合は、プロバイダのサービスなどでフィルタリングするのがいいでしょう。

あとはこのOutlookを適当なタイミングで送受信させれば、一定間隔でメールボックスを見に
行って自動で印刷してくれます。メールがFAXみたいになって満足です。


自動送受信の設定は、左上の「ファイル」をクリックすると、画面が変わります。
変わった画面で、右端に並んでる中から「オプション」をクリックし下の大きい画面を出します。



この「Outlookのオプション」の右側「詳細設定」→左の「送受信」をクリックしていくと真ん中の
「送受信グループ」が出てくるので、分数をお好みで設定してください。


ウチは常時立ち上げられるマシンを用意して、そこで立ち上げっぱなしにしております
(古いノートパソコンなどがあると、こういう用途に重宝します)。

昼閒もそうですが、時間外のメールが印刷されているというのは、FAX同様に扱えて便利です。
特にパソコンが使えない人が多いところでは重宝するかもしれません。

ペーパーレスに逆行している点はご容赦ください。

ではでは。

2015年1月19日月曜日

一周回ってファイル公開ならやっぱりftpじゃねって件

どうも、謎の七面鳥です。

自分用orごく限られた面子用で自宅のファイルをやりとりするのに
何がいいかなと思ってるんですわずっと。

で、クラウドだなんだって感じでオンラインにファイルを溜め込めるタイプを中心に
探していたんですが、どうもどうにも今ひとつ…。

で、知人がftp鯖を前から立ててて、そういえばftpってどうなんでしょと改めて調べた
ところですね…


Windows7でFTP設定。FTPソフトを使わずにサーバー接続する手順。 - 僕の私の備忘録 http://blog.livedoor.jp/net_scope-diary/archives/5489027.html

普通にエクスプローラでアクセスできるようになってたという (´・ω・`)。

しかも使い勝手もあまり変わらない雰囲気 (´・ω・`)。



ドラッグ&ドロップでアップロードも容易な感じ。

そしてフォルダのショートカットをお気に入りにコピーしてしまえば、お気楽に繋げられるというね。


あまりにも手軽に使えるようになってて、正直ftpサーバーというものを見直しています。
外部接続もDDNSを使えば割と容易に接続できますし。
VPN張るより手軽かも。

スマホでもFTPクライアントがあるので、そちらとのデータのやりとりもあまり困らない感じかと。

これなら例えばFreeNAS辺りにftpを入れてDDNSとの連携を設定するだけで、自宅鯖が
いきなりネットワークドライブっぽくなるわけで、敷居の低さと得られるもののコスパが
いい感じかと。


ちなみに、印刷所への入稿に使えそう! というご意見がありましたが、そういう用途は
想定しておりません。
安全のため、ftp入稿は各印刷所様ごとに指定されている方法にてお願いいたします。
本エントリの方法でのftp入稿はおやめください。

また、これに限らず当ブログ記載の方法・手段によって何らかの損害が生じましても
当ブログは一切の責任を負わない旨、悪しからずご承知置き願います。

※本エントリの方法でftp入稿をされた場合、印刷所のサーバーに障害をあたえる可能性が
 あります。
※損害賠償となった場合、その印刷所様とそこで世話になってる作家様方より
 個々に賠償を請求される可能性があり、過大な賠償額になる可能性があります。
※ゴリ押しダメ、ゼッタイ。


とはいえ、これだけ使い勝手がいいのなら見直す価値はありそう。

皆さんのお役に立てば幸いです。

2015年1月6日火曜日

【自分メモ】ts保存時のtxtファイルを解析してみる

自分メモとして雑に書きます。あしからず。

◎ts保存時にできるtxtファイルからエラーかどうか判定する

例:
総パケットエラー数:0
総パケットドロップ数:0
~~~
for /F "usebackq delims=: tokens=2 skip=1" in %%n (`find "総パケットエラー数" %~n1.txt`) do set perr=%%n

for /F "usebackq delims=: tokens=2 skip=1" in %%n (`find "総パケットドロップ数" %~n1.txt`) do set pdrp=%%n

if %perr% GTR 1 goto recerr1
if %pdrp% GTR 1 goto recerr2

:recerr1
rem メッセージは一例です
echo %1 パケットエラーがありました >> recerr.log
echo %1 パケットエラーがありましたので、処理を中止します。
goto end

:recerr2
rem メッセージは一例です
echo %1 パケットドロップがありました >> recerr.log
echo %1 パケットドロップがありましたので、処理を中止します。
goto end

:end
~~~

例:
PID:0111  ドロップ数:0, エラー数:0, 未解除数:16992088 [MPEG-2 VIDEO] (00:29:50-)
PID:0111  ドロップ数:123287, エラー数:1065667, 未解除数:12593 [MPEG-2 VIDEO] (01:43:10-) 
~~~
for /F "usebackq tokens=2 skip=1" in %%e (`find "MPEG-2 VIDEO" %~n1.txt`) do for /F "delims=: tokens=2" in %%s (%%e) do set drp =%%s

for /F "usebackq tokens=3 skip=1" in %%e (`find "MPEG-2 VIDEO" %~n1.txt`) do for /F "delims=: tokens=2" in %%s (%%e) do set err =%%s

for /F "usebackq tokens=4 skip=1" in %%e (`find "MPEG-2 VIDEO" %~n1.txt`) do for /F "delims=: tokens=2" in %%s (%%e) do set descr =%%s

if %err% GTR 1 goto recerr3
if %drp% GTR 1 goto recerr4
if %descr% GTR 1 goto B25dec
~~~

前半は動作確認してますが後半は未確認です(==。

でわでわ。