初めて書いたVBA

問題管理をするのに、通番をチェックするのが面倒で、自動発行してくれる処理を書きました。
番号の形式は、”yyyymmdd-通番”にしています。
C列に問題管理番号、D列に登録日を自動入力する処理にし、通番はこれから採番しようとする番号の登録日と同じ登録日の個数を数えて+1しています。

またVBAを書くときのために、メモとして残しておきます。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Dim tmpAddress As String, tmpRow As String, cellcnt As Double
  
  tmpAddress = Target.Address(True, False)
  tmpRow = Left(tmpAddress, InStr(tmpAddress, "$") - 1)
  If tmpRow = "C" Then
    If Target.Value = "" Then
      If Range("C" & Int(Mid(tmpAddress, InStr(tmpAddress, "$") + 1) - 1)).Value <> "" Then
        cellcnt = WorksheetFunction.CountIf(Range("D:D"), Date)
        Target.Value = Format(Date, "yyyymmdd") & "-" & Format(cellcnt + 1, "000")
        Range("$D" & Mid(tmpAddress, InStr(tmpAddress, "$"))).Value = Date
      Else
        MsgBox "一番上の空欄をダブルクリックしてください"
      End If
    End If
  End If
End Sub

spモードメールはこまめにメールを削除しましょう

先日、DoCoMoショップに行ったときの話。
受付のお姉さんが、前回Xperia Arcの画面が割れた対応をしてくれた方で、交換後の調子を気にしてくれていた。時々、反応速度が遅くなることを伝えると、spモードメールのメール保存数をチェックしていた。

なんでだろう?と疑問に思って聞くと、spモードメールはアプリ自体が原因で、ストレージに余裕があっても、800通以上ためておくと、動作が不安定になる傾向があるということだった。受信メールから消しても、ゴミ箱に移動しているだけなので、ゴミ箱からも消さないと、メールはたまり続けていく一方になります。ここが見落とされがちらしいです。

spモードメールの調子が悪いと思ったら、いらないメールを消してみましょう。

redmineのメール設定で凡ミス

redmineをぼちぼち触っていっています。

チケット等を更新した際に、メールが送信されるように設定しようとしたところ、送信時に失敗します。なぜ!設定時に記述した内容は、以下です。

production:
email_delivery:
delivery_method: :smtp
smtp_settings:
address: “localhost”
port: 25
domain: “localhost”

検索してでてきた設定方法と上記を見比べても、悪いところはなかったので、他の原因を探ることに。getaddrinfo: Name or service not known”という発生したエラーで検索したら、出てきました、答えが。

“proction:”っていうパートが、設定ファイルの末尾にあって、上書きされているという結果でした。なんで、例でコメントアウトしてる行があるのに、更に何も書いてない”production:”の部分があるのか意図が読めないですが、これで解決。このサイトに助けられました。

http://www.lesstep.jp/wiki/index.php?Redmineでメール送信が失敗する

redmineを利用し始めました

会社で、好きなの入れていいから、チケット管理をできる環境を作りたいという話がでてきたので、rubyを勉強する口実にもなると考え、redmineを選びました。ちょうど、4/16に1.4系がリリースされたので、タイミングもよかったです。

インストールは、以下の記事の通りにやったら、すんなりいきました。
http://blog.redmine.jp/articles/redmine-1_4-installation_centos/

メールサーバ設定を行う、configuration.ymlでは、特に何も設定せずに、sampleをコピーしただけの状態です。最初は例に習って、sendmailを使う形にしていたのですが、うまくインストールできなくて、sampleと同じ内容にしました。

これから、プラグインの便利なものを見つけたり、使い方や機能でいいなと思うものがあったら、記事にしていきます。

今回は、redmineのインストールより、CentOSで固定IPを割り振る部分でつまづきました。
いつもは、VirtualBoxで、DHCPとホストオンリーネットワークの組み合わせでやっていたので、外部からも見れる固定IPを設定し、DNSの設定もしてというのが初めてだったので。
恥ずかしながら、”/etc/sysconfig/network-script/ifcfg-ethxx”に、DNSの情報を書いて、restartとすると、”/etc/resolve.conf”が生成されるということも今回初めてしりました。

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.x ←サーバのIP
NETMASK=255.255.255.0
TYPE=Ethernet
HWADDR=00:oo:3F:oo:1F:oo
GATEWAY=192.168.1.y
IPV6INIT=no
USERCTL=no
NM_CONTROLLED=yes
DNS1=127.0.0.1
DNS2=192.168.1.1

IPアドレスとかは、適当に書き換えてますが、こんな感じで”/etc/sysconfig/network-scripts/ifcfg-eth0″を書きました。いくつかのサイトを見ながら、これに落ち着いたので、メモしておきます。

ネットワークの知識の浅さを改めて感じる作業でした。redmine楽しみです。

windows2008でXAMPPでインストールしたapacheが起動しない

windows2008に、XAMPPを使って簡単な開発環境を作ろうとしたら、apacheが起動しない現象が発生しました。よくわからないまま、イベントビューアを見ると、こんなメッセージが。

“C:\xampp\apache\bin\httpd.exe” のアクティブ化コンテキストの生成に失敗しました。
従属アセンブリMicrosoft.VC90.CRT,processorArchitecture=”x86″,
publicKeyToken=”1fc8b3b9a1e18e3b”,type=”win32″,
version=”9.0.21022.8″ が見つかりませんでした。
詳細な診断を行うには sxstrace.exe を実行してください。

なんかが足りないようなので、検索してみると、以下の記事を見つけました。

SidebySide VC90がみつからない

対応策は、Microsoft Visual Studio 2008/.NET Framework 3.5 のランタイムをインストールする

ダウンロードはこちらからー。
Microsoft Visual Studio 2008/.NET Framework 3.5

インストールしたら、無事に解決しました。よかった。

最近使ったExcel関数

■ match(A2, C:C, 0)

A2と同じ項目がC列にいた場合に、その行数を返す。
第3引数の”0″はmatchの条件を”完全一致”に指定。

■INDIRECT(セル位置)

セル位置で指定されたセルの値を返す。
上記のmatchと組み合わせて INDIRECT(“E” & MATCH(A2、C:C, 0)) とか使える
Excel式内の文字列結合は、”&”を使う

■ IFERROR(式、NGだったときに表示させる内容)

式の結果が、”#NOVALUE”みたいに、エラーになった際に、任意も文字列を表示させる関数
上記のmatch、indirectと組み合わせて IFFERROR(INDIRECT(“E” & MATCH(A2, C:C, 0)), “-“)とか使える

文字列解析で、コピペできる位の文字列が対象の場合は、プログラム組むより便利なときもありますね。

mac で画面キャプチャを取る方法

「Shift」+「Command」+「4」で、画面のどの部分を選択するかを選べるポインタがでてくるので、それを使って画面を選択すると、デスクトップにキャプチャ画像が生成されます。

「Shift」+「Command」+「4」+「Space」で、windowを選択してキャプチャ。
「Shift」+「Command」+「3」で、画面全体のキャプチャ。

これは使える!知らなかったです。
ここで知りました。http://hamachan.info/mac/kihon/screen.html

airmac expressのリセット手順

引越しの際に、ひかりoneからフレッツ光に変更になり、PPoE接続が必要になりました(正直、とても面倒です)。全部無線接続するつもりだったので、ルーターも借りずに、airmac expressにルーターの仕事もしてもらうことにしました。

airmacユーティリティで設定いじっていたら、airmac expressと通信できなくなりました!なんで!困る!ってことで、ネットに繋がらない中、スマフォで検索、検索。リセット方法発見!ってことで、メモです。

http://support.apple.com/kb/HT1450?viewlocale=ja_JP&locale=ja_JP

ハードリセットの方法

AirMac Express が反応しなくなった場合は、ハードリセットが必要な場合があります。ハードリセットの実行後は、保存しておいたプロファイルから設定を復元することも、AirMac Express アシスタント (Windows)、AirMac 設定アシスタント 4.1 以降 (Macintosh) または AirMac 管理ユーティリティ (両プラットフォーム) を使って、最初から設定し直すこともできます。

重要:

AirMac Express をハードリセットすると、アクセス制御や RADIUS 設定を含め、保存済みのプロファイル以外のすべての設定が消去されます。この手順を実行する際は、AirMac Express が電源に接続されている必要があります。
AirMac Express にインストールされているファームウェアが 6.1.1 以降 (こちらから ダウンロードできます) の場合と 6.1.1 より前の場合で、リセット手順は異なります。
6.1.1 以降

リセットボタンを押し続けます。
中央のステータスランプ (LED) が高速で点滅し始めたら (約 5 秒後)、ボタンを放します。
ボタンを放すと、AirMac Express がハードリセットされます。
ファームウェアのバージョンが 6.1.1 より前の場合

可能な場合は、まず 6.1.1 以降 にアップデートされることをお勧めします。アップデートしない場合は、以下の手順を実行します。

ハードリセットを実行するには、リセットボタンを 10 秒間押し続けます。
ボタンを放すと、AirMac Express がハードリセットされます。
ハードリセット中の動作

LED が高速で数回点滅した後、AirMac Express が再起動します。「AirMac」メニューや AirMac 管理ユーティリティには、AirMac Expressがしばらく表示されません。このプロセスには、約 45 秒かかります。リセットが完了したら、AirMac Express をデフォルト設定で使うことも、保存しておいたプロファイルを読み込むことも、AirMac Express アシスタントや AirMac 管理ユーティリティを使って再設定することもできます。リセット中、AirMac Express には、以下のデフォルト設定が読み込まれます。

DHCP が IP アドレスを要求するように設定される。
ベースステーションのパスワードが「public」に設定される。
ベースステーション名が「Base Station XXXXXX」(XXXXXX は、ワイヤレス MAC アドレスの末尾 6 桁) に変更される。
ネットワーク名が「Apple Network XXXXXX」(XXXXXX は、ワイヤレス MAC アドレスの末尾 6 桁) に設定される。
MAC (Media Access Control) アドレスは、ネットワークポートに対する固有のハードウェア識別番号です。AirMac Express には、2 つの MAC アドレスがあります (有線 Ethernet ポート用とワイヤレス Ethernet ポート用)。ワイヤレス MAC アドレスは、「AirMac ID」とも呼ばれます。

出荷時のデフォルトリセットの方法

重要:このリセットを実行すると、すべての設定と保存したプロファイルが消去されます。アクセス制御や RADIUS 設定も消去されます。

以下の手順を実行します。

AirMac Express から電源コンセントを取り外します。
リセットボタンを押したままにします。
ボタンを押したまま、AirMac Express を AC コンセントに再び接続します。
数秒後に LED が高速で点滅するまで、ボタンを押し続けます。
ボタンを放します。

ハードリセットの場合と同様、AirMac Express は、「AirMac」メニューと AirMac 管理ユーティリティには、しばらく表示されません。このプロセスには、約 45 秒かかります。リセットが完了したら、AirMac Express をデフォルト設定で使うことも、AirMac Express アシスタントや AirMac 管理ユーティリティを使って再設定することもできます。デフォルト設定については、「ハードリセット」のセクションを参照してください。

fastcopy

windows用のデータコピーツールです。
差分コピーもできるので、データのバックアップを定期的にとるのにも使えます。windows2008からは、robocopyコマンドがあります。windows標準なので、こちらがより安心かもしれません。

ですが、xpとかをお使いなら、fastcopyは便利です。
スケジューラー(Linuxのcronみたいなもの)に、外付けHDDへデータをコピーするように登録しておけば、自動的に大事なデータを定期バックアップをすることも可能です。
注意する点が1つあります。フォルダ階層が一定以上深いと、深い部分はコピーされない問題があるようです。個人利用の場合は、問題ないだろうとは思いますが、ファイルサーバとか多数で利用しているところのデータをコピーする場合は、チェックが必要です。robocopyは、この問題はクリアできているので、robocopyが使えるなら、robocopyをおすすめします。

僕が一番便利だと思うのは、ファイルのコピーではなく、削除。
fastcopyをインストールすると、ファイルを選んで右クリックしたときに、メニューに”削除(fastocopy)”がでてきます。これで削除を選ぶと、windowsの通常の削除を選んだ場合に、警告が出て消せないファイルが消せます。システムの安全稼働を担保するためにチェックが働いて、警告を出してくれているのですが、わっかった上で消したい!っていうときもあります。そういうときに、強制的に消せるのが、重宝してます。

このごみファイルが邪魔なんだけど、消せない!ってお困りの方は、お試し下さい。
http://www.forest.impress.co.jp/article/2005/03/24/fastcopy.html

spモードメールをGmailに乗り換えた

前回の記事に書いたように、spモードメールをGmailに乗り換えました。
使っているメーラーは、「K9 Mail」です。見るときには、Gmailアプリも使っています。スレッドは便利です。

「K9 Mail」は、docomoの絵文字にも対応しているので、不便はないです。デコメはできないけど、あまり使ってなかったので、影響はほとんどありません。いざとなったら、spモードメールの出番です。転送しちゃえばいいですから。

一番のネックは、スマフォじゃない携帯を使っている人のメール設定が、PCからのメールを受け取らない設定になっていること。受信メールアドレスとしての登録をお願いしてOKな人もいるけど、迷惑メールが増えるから嫌って人もいるので、完全にクリアするのは難しいですね。

やりとりする人達が、全員スマフォになったら問題解決ですけど、電話とメールだけなら、画面を見ずに入力できたり、電池の持ちがいいガラケーが有利なのも確かなので、当分先でしょう。

最近発表されたexperiaの新型なら、内部ストレージが16GBとか24GBとかあるので、僕が機種変更して、spモードメール使うのが一番の解決策なのかもしれません。