2013年03月22日

Excel VBA からメールを送るコード


Github に置いてあります。


VBAでメールを送信してみました。

(この記事には続きがあります)


posted by けんじ at 10:15 | Comment(0) | コードの森
2012年01月30日

SQLServer 2008 R2 でベンチマークテストっぽいことをやってみた


SQLServer の性能を計算したいという人がいたので作ってみた。そのときは、新しいマシンに移して、SQLServer のバージョンも上げた、プログラムは同じなのに性能が出ない、っていう状況だった。パッとつくったものなので、細かいエラー処理などなどはやっていない。あくまでも参考にしかなりません。

やっていることは、素数の計算っぽいこと。後でよくよく考えてみると、時間を決めてどれだけ計算できたかを返すプログラムにすればよかったと思ったり・・・。

そして、コードを見ていただければ分かると思うのだけど、引数の2乗に比例して時間がかかる(概算だけど)。ちなみに、テスト的に動かした仮想サーバでは、1000でやったら4秒だった。1000000で実行して、結果が返ってこない!と言われたけど、それもそのはず、最大11時間かかる計算。


プログラムの引数は、素数かどうかを検証する最大の数。1000だったら、1000までの数字について、素数かどうかを検証する。返り値は、かかった時間(ミリ秒)。datediff の引数によっては、ミリセカンドやナノセカンドでも返せるけど、返り値の型が int なので、int で扱えない数になるとエラー。

以下のコードは、マネジメントスタディオで関数の変更をしようとして開いたときのコード。


(この記事には続きがあります)


posted by けんじ at 02:36 | Comment(0) | コードの森
2011年12月29日

CSS position fixed で中央に表示する方法


中央に確認ダイアログを表示する場合・・・ダイアログといっても、divを表示させるだけなのだが。

そんなときに、中央に表示したい時がある。そんなときのやり方。

(この記事には続きがあります)


posted by けんじ at 19:55 | Comment(0) | コードの森
2011年11月22日

CrystalReports で数値を日付にする方法


CrypstalReports で日付の数値を年月日表記にする方法

まず、式フィールドを作成します。んで、その中に、次のような式を書き込みます。右クリック→式の編集で。

Local NumberVar Y := {DBColumn} \ 10000;
Local NumberVar M := ({DBColumn} MOD 10000) \ 100;
Local NumberVar D := {DBColumn} MOD 100;
CDate (Y, M, D);

これで、数値を日付にすることができました。DBColumn のところには、データベースのフィールド名を入れます。

ただ、これではまだ、 1986/01/06 という形なので、この式フィールドのプロパティを設定します。

DateFirstSeparator, DateSecondSeparator, DateSuffixSeparator それぞれに、"年"、"月"、"日"を入力します。これでOK


posted by けんじ at 13:18 | Comment(0) | コードの森
2011年11月19日

テキストファイルを分割するスクリプト


matriXscan っていうやつのログを解析する必要があったみたいで・・・だけど1.3GBだとテキストエディタで開けない。そこででっかい1.3GBのログファイルを分割するためのスクリプトを作ってみた。JScriptを使っているのでWindowsでしか動かない。

同じフォルダにあるでっかいファイルを、同じフォルダに分割していく。分割後のファイル名は、out1.txt, out2.txt,... になる

即席でホィっと作ったものなので、気の利いたことはできない。分割対象のファイル名はコード内に直接書き込むようになっており、もしout1.txtというファイルが既にあったとしても、上書きの確認画面は出てこない。

テキストファイルの分割は、行レベルで行う。行で行うため、行数を指定する必要がある。これが、メールのログなどであれば行単位でもいいのだが、1行のなが〜いファイルになってくるとまずい。(バイト数を計算すればいいんだけど。)

100万行ごとに区切ったところ、1.3GBのファイルは10個ぐらいのテキストファイル(それぞれ100MB程度)に分割された。このレベルなら普通のテキストエディタで開けるようになる。

(この記事には続きがあります)


posted by けんじ at 09:39 | Comment(2) | コードの森
2011年11月17日

Access のテーブル定義を一覧で出す


ども。けんじです。

今日は、アクセスのファイル(.mdb)の中のテーブル定義一覧を、Oracle用のテーブル定義に変換して、ざっと出すためのコードを紹介します。

会社で作って使ったものです。会社の独自フォーマットのテーブル定義書(.xls)に貼り付けるために、データを一覧で出すようにしました。そのため、ちょっと説明が必要な部分があると思います。(でも説明しません。)

GetTableDefinitions を実行すると、開いているエクセルのシートにどっさりとアクセスファイルの中身が出てきます。システムテーブルなんかを出すこともできます。(コード見てほいほいやってみてください。)

リンクテーブルは、リンク先とかを表示します。


(この記事には続きがあります)


posted by けんじ at 21:33 | Comment(0) | コードの森
2011年11月12日

スクウェアエニックスを見ながらスケジュール管理


しばらく前にスクウェアエニックスのプロマネの記事が出ていた。

見積した後で、見積を評価できるシステムがいいな〜と思い、あれこれ考えていた。2012年6月には書籍が出版されるらしいが、それまで待つのもなんか・・・。できることならスクエニで使われているタスク管理シートがほしい。

とりあえず、見積精度を算出するためのExcel関数を自分で作ってみた。計算式は、スクエニ発表の通り。

(この記事には続きがあります)


posted by けんじ at 20:30 | Comment(0) | コードの森
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。