日本語プログラム「なでしこ」で管理業務を効率化

2010-11-11

日本語プログラム「なでしこ」で管理業務を効率化

無 馬太…_〆(゚▽゚*)  とついついAAを書きたくなる【管理業務】なるものが多々有り。 中でもユニバーサルな書類作成ツールである「excel」を使って、よく分からない書類に名前と日付を書き込んで毎週提出するという駄作業がある。 一つ一つの駄作業は、駄であるだけに数分で終わるのだが、塵も積もると山となり、私のコーヒータイムを圧迫する。 というわけで、以前勉強会に参加したけど、そのまま使ってなかった日本語プログラミング言語「なでしこ」を使って管理業務の簡略化を試みる。

目標

・元になるエクセルテンプレートに、名前と日付を入力して、それぞれの名前で保存。 ・名前と日付は、複数のシートに記入する必要あり。 ・エクセルは、メンバーの人数分作る必要がある。

1. なでしこをゲット&インストール

まずは、本家サイトに行って、ダウソ。 今回は、お手軽なZIP版をダウンロード。解凍したら、フォルダ内の「nakopad.exe」を実行。

解凍フォルダ

実は、インストールもクソもない。これでリファレンス付きの高機能統合開発環境が実行されている。 (;´Д`)スバラスィ …ハァハァ  

2. とりあえずHello Worldしとく

プログラマーという人種は、新しい言語を使う場合、とりあえず「Hello World」という単語を出力しがち。 なでしこは、日本語プログラムなので、こんな感じになる。こんにちは世界

記述したプログラムは、画面上部の三角矢印をクリックすると、即座に実行される。
こんにちわ世界を実行

3. 駄作業を自動化する。

今回の目的をおさらい。

・元になるエクセルテンプレートに、名前と日付を入力して、それぞれの名前で保存。 ・名前と日付は、複数のシートに記入する必要あり。 ・エクセルは、メンバーの人数分作る必要がある。

というわけで、以下の3ファイルを用意。

  1. 元になるテンプレートのエクセル -> template.xls
  2. メンバーの名前を羅列したテキストファイル -> member.txt
  3. なでしこのソースコード -> da_excel.nako

ファイル構成


【プログラムのフローチャートを簡単に…。】

  1. 保存フォルダを作成
  2. メンバーリストを読み込む
1
2
3
Jones
Mary
Fitzgerald
  1. テンプレートのエクセルを読み込む

[/caption]

  1. セルに値をセット
  2. ファイルを保存フォルダに保存。
  3. 終了

フローチャートを書いたら、後はひたすらプログラミング!! といっても、エディタ左側にリファレンスが付属しているので、関数とかは覚えている必要がない。必要なものをクリックして、挿入すればいい。 なでしこの有志の方が作っていると思われるリファレンスサイトもあるので、大概の操作はググれば分かるのだ。以下は、お昼食べながらフガフガ作ったソースコードです。 簡単です、楽です、API揃ってます。

ソースコード

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
今日をyyyymmddに日時形式変換
保存フォルダはそれ。

##フォルダ
もし、「{母艦パス}{保存フォルダ}」のフォルダ存在ならば
 「{母艦パス}{保存フォルダ}」のフォルダ削除。
「{母艦パス}{保存フォルダ}」にフォルダ作成

##エクセルを開いて、各シートに日付と名前を入れる。
エクセル起動

 ##メンバー一覧を一行ずつ読んでループ処理
「{母艦パス}member.txt」を毎行読んで反復
 「{母艦パス}template.xls」をエクセル開く

 1のエクセルシート注目
 B3へ今日をエクセルセル設定
 C3へ対象をエクセルセル設定

 2のエクセルシート注目
 B3へ今日をエクセルセル設定
 C3へ対象をエクセルセル設定
 
 3のエクセルシート注目
 B3へ今日をエクセルセル設定
 C3へ対象をエクセルセル設定
 
 「{母艦パス}{保存フォルダ}\{対象}.xls」へエクセル保存
 
エクセル終了

終了

4. 自動化の結果をチェック!

百聞は一見にしかず。実行結果を写真とキャプションで。