自社製品のメルマガを出す際に、どうしても表組みにしたいところがあったので、テキストで表を作成するっ便利なツールはないものか、と検索したところ、とあるSEさんがつぶやいておられる中に、便利そうなツールの紹介が。
らくらく罫線
Excelのアドイン形式。
早速使ってみたんですが、泣きそうなぐらい便利。
ほんとにExcelの表がそのままテキストになります。
(そりゃ、色とかはさすがに無理ですけどね)
センタリングとかの位置揃えも出来ちゃうし、重宝しそうです。
いつも使っているExcelにアドインで使えちゃうところもステキ。
2009年5月21日木曜日
2009年4月17日金曜日
CSVの項目を並び替えるスクリプト
仕事で必要になったので、久々にコードを書くにはちょうどいいかも
と思い、WEBで調べつつ手軽なVBScriptで作成。
(VBScriptってトコがヘナチョコ感満載。でも、WSH使えるなぁ…)
[並び替え前のCSV] [並び替えた後のCSV]
1番目の項目 --------> 5番目
2番目の項目 --------> 4番目
3番目の項目 --------> 2番目
4番目の項目 --------> 1番目
5番目の項目 --------> 3番目
といった変換をするスクリプトです。
本当に久々にコードを書いたので、
カッコワルサとかその辺は勘弁してください。
ちなみに、これ作るのに2時間もかかりました…
細切れで空いた時間に作ったとはいえ、萎える…orz
-------------------------------------------
'---------------------------------------------------------------
' CSV変換スクリプト
'---------------------------------------------------------------
Option Explicit
' 引数(ドラッグアンドドロップしたファイル名)を取得
Dim objArgs
Set objArgs = WScript.Arguments
Dim strFileName
If objArgs.Count = 0 Then
strFileName = InputBox("変換したい CSV のファイル名をフルパスで入力してください。")
Else
strFileName = objArgs(0)
End If
'ファイル名が入力されなかったら終了
If strFileName = "" Then
WScript.Quit
End If
Dim objFS
'定数の定義
Const ForReading = 1,ForWriting = 2,ForAppending = 8
Set objFS = WScript.CreateObject("Scripting.FileSystemObject")
Dim objFileInput
Dim objFileOutput
Set objFileInput = objFS.OpenTextFile(strFileName, ForReading)
Set objFileOutput = objFS.CreateTextFile(strFileName & ".convert.csv", True)
Dim aryDestCols(4)
Dim strLine
Dim arySrcCols
Dim strCol
'ヘッダを書き出す場合はここで。
objFileOutput.Write _
"""1カラム目"",""2カラム目"",""さ~んカラム目""" & vbCrLf
Do Until objFileInput.AtEndOfStream
'変換元CSVを1行読み込む
strLine = objFileInput.ReadLine
'項目ごとに分解する
arySrcCols = Split(strLine, ",")
'マッピング通りに入れ替え
aryDestCols(0) = arySrcCols(3)
aryDestCols(1) = arySrcCols(2)
aryDestCols(2) = arySrcCols(4)
aryDestCols(3) = arySrcCols(1)
aryDestCols(4) = arySrcCols(0)
objFileOutput.Write Join(aryDestCols, ",") & vbCrLf
Loop
objFileOutput.Close
objFileInput.Close
と思い、WEBで調べつつ手軽なVBScriptで作成。
(VBScriptってトコがヘナチョコ感満載。でも、WSH使えるなぁ…)
[並び替え前のCSV] [並び替えた後のCSV]
1番目の項目 --------> 5番目
2番目の項目 --------> 4番目
3番目の項目 --------> 2番目
4番目の項目 --------> 1番目
5番目の項目 --------> 3番目
といった変換をするスクリプトです。
本当に久々にコードを書いたので、
カッコワルサとかその辺は勘弁してください。
ちなみに、これ作るのに2時間もかかりました…
細切れで空いた時間に作ったとはいえ、萎える…orz
-------------------------------------------
'---------------------------------------------------------------
' CSV変換スクリプト
'---------------------------------------------------------------
Option Explicit
' 引数(ドラッグアンドドロップしたファイル名)を取得
Dim objArgs
Set objArgs = WScript.Arguments
Dim strFileName
If objArgs.Count = 0 Then
strFileName = InputBox("変換したい CSV のファイル名をフルパスで入力してください。")
Else
strFileName = objArgs(0)
End If
'ファイル名が入力されなかったら終了
If strFileName = "" Then
WScript.Quit
End If
Dim objFS
'定数の定義
Const ForReading = 1,ForWriting = 2,ForAppending = 8
Set objFS = WScript.CreateObject("Scripting.FileSystemObject")
Dim objFileInput
Dim objFileOutput
Set objFileInput = objFS.OpenTextFile(strFileName, ForReading)
Set objFileOutput = objFS.CreateTextFile(strFileName & ".convert.csv", True)
Dim aryDestCols(4)
Dim strLine
Dim arySrcCols
Dim strCol
'ヘッダを書き出す場合はここで。
objFileOutput.Write _
"""1カラム目"",""2カラム目"",""さ~んカラム目""" & vbCrLf
Do Until objFileInput.AtEndOfStream
'変換元CSVを1行読み込む
strLine = objFileInput.ReadLine
'項目ごとに分解する
arySrcCols = Split(strLine, ",")
'マッピング通りに入れ替え
aryDestCols(0) = arySrcCols(3)
aryDestCols(1) = arySrcCols(2)
aryDestCols(2) = arySrcCols(4)
aryDestCols(3) = arySrcCols(1)
aryDestCols(4) = arySrcCols(0)
objFileOutput.Write Join(aryDestCols, ",") & vbCrLf
Loop
objFileOutput.Close
objFileInput.Close
2009年4月2日木曜日
体制変更、技術寄りなポジションに戻りました
技術部門から営業部門に転向して3年。
技術への関心と知識を落さないように、
と思ってこのブログを始めたものの、
結局技術系なネタはほとんどなし、でした。
反省。
そんな中、会社の組織体制が4月から変更、
ボクはまた技術系の立ち位置に戻ることに
なりました。
技術系、といっても、ほとんどプロマネみたいなもんですが。
プロダクトを抱えているので、業務系知識から
市場データや競合等の情報整理、それらをまとめた
製品企画から実装、品質管理まで、幅広く
担当していくことになりそうです。
というか、そういった幅広くまとめていけるように
ならないといけなさそうです。
ちょっと大きな変化ですが、何とかかんとか
頑張っていきたいと思います。
というわけで、今後、ひょっとしたらまた
技術寄りなネタもエントリーできるかもしれません。
期待薄ですが…。
というわけで、今日が新年度スタートの方も
多いかと思いますが、今期もよろしくお願いします。
技術への関心と知識を落さないように、
と思ってこのブログを始めたものの、
結局技術系なネタはほとんどなし、でした。
反省。
そんな中、会社の組織体制が4月から変更、
ボクはまた技術系の立ち位置に戻ることに
なりました。
技術系、といっても、ほとんどプロマネみたいなもんですが。
プロダクトを抱えているので、業務系知識から
市場データや競合等の情報整理、それらをまとめた
製品企画から実装、品質管理まで、幅広く
担当していくことになりそうです。
というか、そういった幅広くまとめていけるように
ならないといけなさそうです。
ちょっと大きな変化ですが、何とかかんとか
頑張っていきたいと思います。
というわけで、今後、ひょっとしたらまた
技術寄りなネタもエントリーできるかもしれません。
期待薄ですが…。
というわけで、今日が新年度スタートの方も
多いかと思いますが、今期もよろしくお願いします。
2009年2月13日金曜日
名前だけでも覚えて帰ってください
デブサミ2009、初日の最終コマ「コミュニティから選出のLT大会」で、
Linuxコンソーシアム リッチクライアント部会の代表としてカールの
梅村さんと二人で発表してきました。
LT(ライトニング・トーク)ということで、全11団体が持ち時間5分の中で
精一杯自己表現するわけですが、そんな中、私たちは「漫才」してきました。
いや、一度やってみたかったんです。人前で漫才。
死ぬまでにやりたい100のリストにも、ちゃんと書いてます。
最後の方でボクがネタを忘れてしまって頭が白くなりかけたシーンも
ありますが、梅村さんが見事にフォローしてまとめてくれました。さすが。
<追記>
部会でSilverlightを担当いただいた宮崎さんが動画を撮ってくれていました。
http://koguma98.com/devsumi2009/RichCl/
※Silverlight2のランタイム要
</追記>
結局、「何をしてる部会なのか」があまり伝わらなかったと思いますが、
Welrichプロジェクトは真面目にやってますので、興味のある方は是非
部会にご参加ください。
http://www.linuxcons.jp/modules/i_richclient/
大事なLTで漫才やるようなリーダー2名でやってる部会なので、
これ以上ないぐらいの気軽さで来てもらえれば、恥をかいてまで
素人漫才をやった甲斐があるってもんです。
皆さんのご参加、お待ちしてます。
(と言いつつ、次回の開催日をまだ決めてないダメリーダー…すいません)
Linuxコンソーシアム リッチクライアント部会の代表としてカールの
梅村さんと二人で発表してきました。
LT(ライトニング・トーク)ということで、全11団体が持ち時間5分の中で
精一杯自己表現するわけですが、そんな中、私たちは「漫才」してきました。
いや、一度やってみたかったんです。人前で漫才。
死ぬまでにやりたい100のリストにも、ちゃんと書いてます。
最後の方でボクがネタを忘れてしまって頭が白くなりかけたシーンも
ありますが、梅村さんが見事にフォローしてまとめてくれました。さすが。
<追記>
部会でSilverlightを担当いただいた宮崎さんが動画を撮ってくれていました。
http://koguma98.com/devsumi2009/RichCl/
※Silverlight2のランタイム要
</追記>
結局、「何をしてる部会なのか」があまり伝わらなかったと思いますが、
Welrichプロジェクトは真面目にやってますので、興味のある方は是非
部会にご参加ください。
http://www.linuxcons.jp/modules/i_richclient/
大事なLTで漫才やるようなリーダー2名でやってる部会なので、
これ以上ないぐらいの気軽さで来てもらえれば、恥をかいてまで
素人漫才をやった甲斐があるってもんです。
皆さんのご参加、お待ちしてます。
(と言いつつ、次回の開催日をまだ決めてないダメリーダー…すいません)
2009年1月20日火曜日
SOAは死んだそうです
興味深い記事。
「SOAは死んだ」
http://japan.cnet.com/blog/0040/2009/01/19/entry_27019558/
<引用>
SOAとはサービスに基づいたアーキテクチャを構築する考え方であったはずなのに、ベンダーのセールストークによって、既存のアプリケーションを都合よく結合するツールに成り下がっていたのです。
</引用>
まさに、そうですね。
ベンダーでセールストークしているボクにとっては、耳の痛い話です。
「既存のシステムを変更することなく繋げることが出来るようになります」
といって実際に繋いでみたけど、それは上記のエントリー内にあるような
SOA本来の「アプリケーションポートフォリオの再設計」などという
崇高な理念の下に行ったものではなく、
「とりあえず変更できないから上に被せて何とかしよう」
というものでした。
SOAというよりは、マッシュアップ。
ちなみにこのブログで一番PVが高いのは、
なぜSOAは普及しないのか
です。
良くも悪くもキーワードとしては人気なんでしょうね。
これからはマッシュアップ。
ただ、冠に「エンタープライズ」はつけちゃいけない。
1年以上経った今も、相変わらずボクはそう思っております。
「SOAは死んだ」
http://japan.cnet.com/blog/0040/2009/01/19/entry_27019558/
<引用>
SOAとはサービスに基づいたアーキテクチャを構築する考え方であったはずなのに、ベンダーのセールストークによって、既存のアプリケーションを都合よく結合するツールに成り下がっていたのです。
</引用>
まさに、そうですね。
ベンダーでセールストークしているボクにとっては、耳の痛い話です。
「既存のシステムを変更することなく繋げることが出来るようになります」
といって実際に繋いでみたけど、それは上記のエントリー内にあるような
SOA本来の「アプリケーションポートフォリオの再設計」などという
崇高な理念の下に行ったものではなく、
「とりあえず変更できないから上に被せて何とかしよう」
というものでした。
SOAというよりは、マッシュアップ。
ちなみにこのブログで一番PVが高いのは、
なぜSOAは普及しないのか
です。
良くも悪くもキーワードとしては人気なんでしょうね。
これからはマッシュアップ。
ただ、冠に「エンタープライズ」はつけちゃいけない。
1年以上経った今も、相変わらずボクはそう思っております。
登録:
投稿 (Atom)