VBAより便利で手軽?

Posted on 2009年12月10日 (木) in articles • Tagged with Excel, VBA

Rubyist Magazine #27に「VBAより便利で手軽Excel操作スクリプト言語『Ruby』へのお誘い(前編)」という記事が掲載されていたので、読んでみたのだがちょっと寒い内容だ。VBAでもきっちりサンプルソースを書いた上でrubyとの比較をしていただきたい。むろん僕自身はVBA自身はバッドノウハウ(すでに死語の気もするが)の巣窟であり、出来る限る捨て去りたい物であるのはと思っていることを否定しないし、VBAになんの思い入れもない。VBAの話題自身がいまさらだろうが。

新規にVBAプログラムを書く鉄則はPerlの「use strictとuse warningsを必ず書け」というのと同様に「Option Explicitを必ず書け」で …


Continue reading

2006年06月16日 金曜日

Posted on 2006年06月16日 (金) in articles • Tagged with Excel, Photo, Equipment, VBA, 統計, Mathematics, C++, LaTeX, TeX, Ruby, Scheme, Network

Excel2007を評価中

体験って何だ・・・ というのは置いておいて、Excel2007 Betaをインストールしてみました。(正確にはOffice2007 Pro Betaだが)

Excel2007

メニューがなくなってリボンと言う奴になりました。最初は手惑いそうだけど操作自身は本質ではないし、まあ慣れれば気にはならないかも。マウスでオペレーションする方向になったような気はする。ちょっとしたことをするにもいちいち探索することが多いが、右クリックでうまく乗り切れそうではある。もうプルダウンメニューに飽きたし、IE7もそんな感じなので、Vistaではだいぶんかわるのだろう。とりあえずいろいろつっこみどころ満載のExcelで遊んでみよう。ざっくり使えるように設定の変更。

  1. デフォルトではVBA関係のアクセスができないので、アクセスできるようにする。
    • 「ファイル」-> 「Excelのオプション」->「個人設定」
    • 「開発タブをリボンに追加 …

Continue reading

2006年05月18日 木曜日

Posted on 2006年05月18日 (木) in articles • Tagged with VBA, PC, Equipment, XML, HTML

OutlookをRSS Readerに

メーラーのOutlook Expressではなく、PIMとしてOfficeの一角であるOutlookもVBAでプログラミングできるのであるが、いままでOutlookのVBAなんてウィルスを作成することくらいしかないんじゃないかと思っていたのである。そんなものいらんなと思っていたわけであるが、やっぱりマクロが使えると便利なので、設定に気を使って便利なものは使いましょう。

会社のPCへのソフトのインストール権限が無いことと、会社のサーバがどうもMicrosoft Exchange Serverで、会社内でスケジュールの公開とかもやっているっぽいので、デフォルト環境のOutlookを使う羽目になったのですが、Thunderbirdを使い込んだ後にOutlookを使って思うのは、_OutlookでRSS Readerが無いじゃない_というところ。まぁアドインとかを購入すればいいのだろうが、時間があったのと「OutlookをVBAでRSSリーダーにする」という記事があったので、VBAで書いてみることとした。codezine.jpにはアカウントを持っていないし …


Continue reading

2006年04月10日 月曜日

Posted on 2006年04月10日 (月) in articles • Tagged with Excel, VBA, Photo, Equipment, Network

Excel VBA Hacks (4)

前回まではテキスト処理を中心に書いてきたが、Excelと言えばワークシートを使ってなんぼ。ということで、ワークシートを使うお題から。先日つらつら仕事をしていて、Excelで書いた表の升目の大きさに合わせて、写真を貼らなければならない資料を作る必要が生じた。まぁ数枚だったら適当に貼り付けるのだが、さすがに貼り付ける写真の枚数が総数で400枚を越えると考えも変えざるえない。貼る時間よりマクロを書く方が数段速いので、サクサクこんなツールを書いてみる。

```vbnet InsertImages.bas Option Explicit

Sub InsertImages()

Dim FileName As …

Continue reading

2005年12月07日 水曜日

Posted on 2005年12月07日 (水) in articles • Tagged with Excel, VBA, Equipment, PC, TeX

Excel VBA Hacks (3)

なんでもかんでもExcel症候群」なんて言う_刺激的な_タイトルを付けるとなんだかそれだけでアクセスする人がいるのと、シリーズ化してみても良いかもしれないということで、タイトル変更。本シリーズではVBAとWindowsの標準的な環境における機能だけを使ったExcelおよびOfficeの使いこなしを深めていきたいと思う。

そんなわけで第3弾。テキストデータをさわっているといろいろ考えさせてくれるのが文字コード周辺の問題となる。通常Unixではnkfやらiconvやらを使ってコード変換をするのであるが、Windowsではどうするかというと、たいていの記事ではnkfをDLL化したフリーのライブラリnkf.dllを使うのが常道である。が、これもいちいちインストールしないと使えないので、めんどくさい。(めんどくさくないよと言う人は以下の記事を読む必要はない。ただ数十人のPCにいちいちマクロ以外のプログラムやライブラリを導入しつつ、自分がそのバージョンの管理もしなきゃならないという事態に陥れば、考えるところもあるだろう。)

いろいろWindowsのドキュメントをひもといていけば、だいたいの場合でやっぱりnkf32.dllもいらないと言う結論に落ち着いた …


Continue reading

2005年11月24日 木曜日

Posted on 2005年11月24日 (木) in articles • Tagged with Excel, TeX, VBA, Perl, Ruby, Network, Equipment

続・なんでもかんでもExcel症候群

Unixな機械からテキストファイルを直接持ってくると、改行がWindowsと異なるので、Excelで扱うのがちょっとめんどくさい。FTPできるときは、ASCIIで持ってくればDOS/Windowsなテキストファイルになるのだけど、世の中FTPできなくて専用のクライアントを共用されることもあって涙が出てくることがもうしょっちゅうあって困る。で、そんな_だめだめクライアント_に泣く泣くつきあわなければならないのだが、この際_なんでもかんでもExcelにお任せ_なのだ。

これからはASCIIモード転送のことは忘れて、すべてBINARYモード転送にしてしまいましょう。DOS/Windowsの世界ではUnixで作成したテキストは何行あっても、_たった1行のテキストファイル_と見なせるから、これを全部1つの文字列に取り込んで、ばらす方向で考える。ソースを示す。

```vbnet TextRead.bas Sub TextRead …


Continue reading

2005年11月22日 火曜日

Posted on 2005年11月22日 (火) in articles • Tagged with Excel, Equipment, PowerPoint, XML, Emacs, VBA, Perl, Ruby, Network, PC, C++

なんでもかんでもExcel症候群

何でもかんでもPowerPoint症候群の弊害を日記で書いたのだが、それよりも世の中に広く広まっている病的な物と言えば、_なんでもかんでもExcel症候群_であろう。とにかく通常の表だけに飽きたらず、提出書類から報告書まで_何でもかんでもExcel_なのである。つまり「何でもかんでもExcel症候群」とはExcelだけですべての仕事が完結してしまう恐ろしい病気なのだ。

その病巣の由来を簡単に予想するとすれば、子供の頃に升目の入ったノートで漢字の書き取りをやらされ(つまりカーニングとかに無頓着になる)、読書感想文などの類は原稿用紙で書かされ、漢字は少ない文字数で情報量を詰め込めることからすっきりとした表が書きやすく、何でもかんでも_表にしないと気が済まない_という日本人の悲しい習性に由来する物であろうと思うのだ。

まぁUnixでEmacsしか使わないというのと似たような話ではあるのだが、典型的なEmacsユーザーが扱うのは汎用的なテキストファイルであり、Emacs LISPでがんがんプログラムを書く(設定ですらLISPを書かねばならないので、多少は誰でも書く物だ)人が多い用に思われる。Excelの場合は、XLS形式という特殊なフォーマット …


Continue reading

2005年04月21日 木曜日

Posted on 2005年04月21日 (木) in articles • Tagged with Excel, VBA, PC

久しぶりにExcel VBA

今日は午後から頼まれたExcel VBAのマクロ書き。1つのファイルに10個くらいのデータ系列があって、それぞれに対して単回帰分析をしたいらしいのだが、そんなファイルが100個くらいあるんだそうな。ということで、作りためていたライブラリを組み合わせて、ちゃきちゃき作ってみた。2.5時間で完成。

マクロを渡したところ... 動かないんですけど!_というご意見をいただいたので調べてみたところ、マクロはExcel2002で作ったのだが、実行環境はExcel97で、その部分の非互換性な部分だった。身の回りにExcel97は残しておく必要がありそうだ。(だれだよ、_互換性でMS Officeが優れているなんていったのは、些細な非互換性が非常に腹立たしいのだけど...)

今日は家のPC関係はいったんお休み

ちょっと寝不足気味なのと …


Continue reading

2005年04月13日 水曜日

Posted on 2005年04月13日 (水) in articles • Tagged with Photo, Java, PC, Network, Equipment, TeX, HTML, Excel, VBA

続・Photoshopのスクリプト機能

今日はプログラミングしてみることにする。いろいろめんどくさいので、Java Scriptで遊んでみることにする。とりあえず画像解像度を変更するプログラムなど。ダイアログボックスで縦か横を選び、サイズを入れると設定された値に応じて、サイズが変更となる。スクリプトはJava Scriptの場合「PhotoshopCS」のディレクトリの中の「プリセット」ディレクトリの中にある「スクリプト」ディレクトリに適当な名前を付けてコピーする。

```javascript resize.js // 解像度の変更(お試し版)

// 今の設定を保存 var …


Continue reading

2004年12月31日 金曜日

Posted on 2004年12月31日 (金) in articles • Tagged with Equipment, PC, Network, HTML, Ruby, Scheme, C++, VBA, Linux, Photo, Portrait, Flower

今日で2004年もおしまい

毎年こんな見出しで大晦日の日記を書いているわけだが、ついこないだ2003年もおしまいどころか2002年もおしまいなんて言う記事を書いた気がするのは気のせいではない。今年は転職・引越しと人生の転機となる大きな変化のあった1年で、住環境や人間関係もがらっと変化して、めまぐるしい変化があった1年だった。気が付くともう今年もおしまい。今年お世話になった方々はいっぱいいて名前を挙げきれないが、今年1年本当にありがとうございました。来年もよろしくお願いします。

大晦日と言うことで、行く年に思いをはせ、今年はどういう戦いの1年だったか、今年の戦術・戦略とその戦いの成果を主要な分野別にまとめておこう。(と、ほぼ毎年と同じ文章にしてみた。こういうのは毎年そろえておいたほうがよいもので、断じて_手抜きではない_。)

2004年の総括 …


Continue reading