ももらぼっ!にっき


2003年06月05日

_ [tDiary] ステータスを変更。

昨日のアレをtDiaryベースのものに書き換えた。そのおかげでjunkに置いていたset_status.rbが動かなくなったので削除した。

@options['status.status_file']と@options['status.status_list_file']を使えるようにしたset_status.rbと、ステータスを表示できるようにするプラグインshow_status.rbを改めてjunkにおいておくので見てくれると嬉しい。

まぁ、使い方はなんとなくわかるとは思うが、set_status.rb*1をtDiaryのフォルダに、show_status.rbをプラグインフォルダにそれぞれ置いて、.htaccessでset_status.rbにBASIC認証をかける。んで、ステータスを表示したいところに、<%=show_status>と書けばOK。デフォルトだと、「Now status: 【ステータス】」って表示されると思うから、@options['status.format']を適当に書き換えて望みの形式に書き換えてくださいな。

*1 適宜リネームしてね

_ [ももめも] やばい原因判明。

VBのIDE上ではどーやっても再現しなかったのだが、MomoMemo.iniを変えながらいろいろ調べているうちに「TopMost=True」のときに起動しなくなる問題が発生することが判明。・・・判明したのだがやっぱりIDE上ではエラーが出ないので、サブクラス化系の処理に問題があるのだろうといろいろ試行錯誤していたら、CAppActive.clsが呼び出すウィンドウプロシージャでこけているっぽいことがなんとなく判明。やっぱり鬼門はサブクラス化だったようだ。

ここまで判ればしめたもので、mAppActive_Activate内*1で適切に初期化されていないインスタンスのメソッドが呼ばれていたことを突き止めて一件落着。

ふぅ。時間にしたらたいしてかかっていないのだが、こーやって場当たり的にソースを変えながらテストしなきゃいけないのはやっぱりVBの利点を殺してるよな。。。

まぁ、それはそれとしても問題は解決されたっぽいので、そろそろももめもの公開を再開できると思う。

*1 CAppActiveに定義されているイベントね。

_ [tDiary] ステータスを変更(2)。

無事導入できたようで。よかった、よかった。

で。作った手前自分でも設置してみたんだけど、なかなか面白いかも。ぽっぷめもでset_status.rbを表示させるようにして、そこからステータスを更新するようにしたんだけど、なんだかとっても楽チン。

いかに自分が家←→職場の往復とゆー悲しい日常を歩んでいるかがばれてしまいそうでイヤんな感じだが。

_ [tDiary] トップページにカウンター。

前からず〜っと、さるにっき。にあったカウンターをトップページに移動させたかったんだけど、なぜか正常に表示されなかった。

やっと原因がわかったのだが、counter.rbは処理の頭でmodeが'latest', 'month', 'day'でないとダメだよってしていたらしい。このmodeってのはTDiaryHogeのHogeで決まる為、トップのにっき用にTDiaryTopクラスを定義していた今回の場合は、見事に処理対象外とさせられてしまっていたのだった。つーわけで、原因がわかったので「'top'でも処理してねん」とcounter.rbを書き換えて、無事カウンターをトップページに移動させる事ができたのでした。まる。

本日のツッコミ(全4件) [ツッコミを入れる]

Before...

_ ももたろ [アレ?私のところでは正常に動いてるんだけどなぁ。・・・文字コードはEUCになってますよねぇ?]

_ すのこ [もうしわけない。set_status.rb が shift-jis だった(^^;)status_list はECU..]

_ ももたろ [おぉ。動いたようで。 よかったです〜〜。]


2008年06月05日

_ momo-lab.netの移転。

いままで(7年くらい?)momo-lab.netのサイトはSPPDを利用していたのですが。 別でさくらインターネットも使っていて、コンテンツが2箇所に分散してしまっていたのでした。 …とはいっても、さくらのドメインを使って公開していたコンテンツはほとんど無かったのですが。

で、やっとこさ、借りているレンタルサーバをひとつにまとめる決心をしまして、コンテンツをさくらのサーバに移行していたわけです。 移行自身は完了し、現在はmomo-lab.netのアクセスは全てさくらのサイト(momo-lab.sakura.ne.jp)にリダイレクトするように設定されています。

今日、ドメインの移管申請をしたので、今月の中ごろくらいからはさくらに一本化できる見通しです。 二つのレンタルサーバ会社と同時にやり取りをしなきゃいけなく、いろいろと面倒だと思い込んでいたのですが、申請申し込みはあっけなく終わってちょっと拍子抜けです。 …途中AUTHCODEを間違えて申請してしまうハプニングはありましたけどね。

なんにせよ、このまま無事ドメイン移管できることを祈っているところです。

ってまぁ、全部こちら内部の話で、ウチのサイトを見に来てくださっている皆様にはまったく影響の無い(ハズの)話なんですけどね。 とはいえ、もしかしたらサイトが見られなくなったりなど、不都合をお掛けするかもしれませんが、ご了承くださいm(_ _)m

_ Excelに貼り付けた画像サイズを簡単に調整するマクロ。

インストールマニュアルを作ったり、テスト結果のハードコピーを保存したり。 私の環境ではExcelに画面のハードコピーを貼り付けることが多いです。 というか、作成するドキュメントは何もかにも全てExcelです。基本的に。

そんなExcel大好きな環境の是非はさておき、 Excelに画像ファイルを貼り付けた後に印刷用に調節するため、 画像のサイズを調整することがよくあります。 しかも、同じサイズの画像を同じサイズに拡大・縮小することが多いです。

今までずっと、

  • 「Ctrl+1」で「図の書式設定」ダイアログを出して、
  • 「Ctrl+PageUp」で「サイズ」タブに移動して、
  • 「Alt+H」で「倍率」の「高さ」項目に移動して、
  • 倍率を入力して「Enter」。

なんてことをやってました。 マウスでやるよりはよっぽど速いのですが、やっぱり面倒くさいです。

ということで、面倒くさいことはコンピュータに任せようと こんなマクロを作ってみました。 PERSONAL.XLSにでも標準モジュールを作成して貼り付けてください。

Private 画像サイズを調整_倍率 As Double

Sub 画像サイズを調整()
    '画像じゃなければ終了
    If Not TypeOf Selection Is Picture Then
        Exit Sub
    End If

    '倍率を求める
    If 画像サイズを調整_倍率 = 0 Then
        画像サイズを調整_倍率 = 100
    End If
    Dim buff As String
    buff = CStr(画像サイズを調整_倍率)
    buff = InputBox("倍率を百分率(%)で指定してください。", "倍率の設定", buff)
    If buff = "" Or Not IsNumeric(画像サイズを調整_倍率) Then
        Exit Sub
    End If
    画像サイズを調整_倍率 = CDbl(buff)

    '画像サイズを変更
    Dim pic As Picture
    Set pic = Selection
    With pic.ShapeRange
        Call .ScaleHeight(画像サイズを調整_倍率 / 100, msoTrue)
        Call .ScaleWidth(画像サイズを調整_倍率 / 100, msoTrue)
    End With
    Set pic = Nothing
End Sub

実行すると、画像を選択している場合は「倍率の設定」ダイアログがでるので そこに倍率を百分率で入力してあげると、その倍率に画像サイズが変更されます。 一度入力した倍率は保存されるので、何度も同じサイズに変更したい場合は そのままEnterでOKです。

いまだにOffice2000なウチの環境でしか動作確認していないため、 最近のOfficeで正しく動くかは分かりませんが、多分大丈夫でしょう。きっと。

Excelマクロって、もっと仰々しく作成してツールとして提供するのにしか使ってなかったのですが、 こういうちょっとした作業の効率化にも使えるんですよね。 ちょびっと忘れていました。

なんにせよ、これで私の作業効率が少しだけ向上したのでした。


2009年06月05日

_ [W-ZERO3][WM] Schedule Register Ver.0.01リリース。

まだ紹介ページを作ってないのでCAB直接のリンクになってしまってますが、 スケジュールを登録するだけの簡単なアプリを作成したので公開します。

これは、コマンドラインパラメータの内容からPocket Outlookの予定を作成するソフトで、他のソフトから呼び出して使うことを想定しています。

「05300900-1000○○の打ち合わせ@会議室A」 見たいなパラメータを受け取ると、

件名:○○の打ち合わせ
場所:会議室A
開始:5/30 9:00
終了:5/30 10:00
終日:いいえ

のような予定を作成します。

Offisnailさん作のOffisnail Spellと組み合わせて使うことを想定してます。 本来の用途はメール送信機能なのですが、この機能を使うことで他のプログラム(今回はSchedule Register)に入力値を引き渡すことができます。 これを利用して、入力したテキストから簡易的にスケジュールを作ってしまおうというものです。

前述のとおりまだ紹介ページがないので、入力できる形式についてReadMeから抜粋してここに載せておきます。

入力できること

入力は、「開始日時-終了日時件名@場所」の形式で行います。

開始日時は以下の形式をサポートします。

mmdd         月日
mmddhh       月日時
mmddhhmm     月日時分
yyyymmdd     年月日
yyyymmddhh   年月日時
yyyymmddhhmm 年月日時分

1日、5分など2桁でない場合は、頭にゼロを付けて2桁になるようにしてください。 時分の入力がない場合は、終日の予定とみなします。 年の入力がない場合、入力された月日の直近の未来日の年であると判断します。 例えば、現在が2009/05/20で、入力値が0620であれば2009年、 0205であれば2010年であると判断します。

終了日時は開始日時の入力によって、サポートする形式が以下のように変わります。

開始日時が年月日までの入力の場合
dd           日
mmdd         月日
yyyymmdd     年月日
開始日時に時間以降の入力がある場合
hh           時
hhmm         時分
mmddhh       月日時
mmddhhmm     月日時分
yyyymmddhh   年月日時
yyyymmddhhmm 年月日時分

終了日時に開始日時より小さな値が入力された場合、翌日、翌月、翌年であると判断します。 例えば、05302200-0300と入力された場合は、05/30 22:00~05/31 03:00であると判断します。

終了日時のみの入力(-0530のようなハイフンで始まる入力)はエラーとなります。 逆に終了日時の省略は可能です。 その場合、終日予定であれば開始日時と同じ日が、 終日予定でなければ開始日時の一時間後が、それぞれ補完されます。

数字以外の文字が入力されたところからが件名となります。 そのため、数字で始まる件名の登録ができません。

"@"(アットマーク)が入力されると、以降は場所となります。

"0"~"9"(数字)、"-"(ハイフン)、"@"(アットマーク)については、 全て全角文字も許容します。半角文字と混在していてもかまいません。

以降に、入力例をいくつか示します。 この例では、入力した日が2008/10/20であると仮定しています。

例1) 10281030-12報告会議@会議室A
  件名:報告会議
  場所:会議室A
  開始:2008/10/28 10:30
  終了:2008/10/28 12:00
  終日:いいえ

例2) 0113CD発売
  件名:CD発売
  場所:(空)
  開始:2009/01/13
  終了:2009/01/13
  終日:はい

例3) 1130-04社員旅行@韓国
  件名:社員旅行
  場所:韓国
  開始:2008/11/30
  終了:2008/12/04
  終日:はい
本日のツッコミ(全2件) [ツッコミを入れる]

_ ヒロ [簡単に予定を入れられるので重宝しています。PC版も作ってもらえませんか?]

_ ももたろ [こんなところにツッコミが。 気づいてなくてすみませんm(_ _)m PC版を、とのことですが、残念ながらOutlo..]