2010年1月21日木曜日

Excel+Word差し込み印刷覚え書き

案内葉書の宛名だとか、研究会などの領収書を作るとき、ExcelなりAccessなりでデータを作っておいてWordの文面に流し込む、いわゆる「差し込み印刷」は結構便利。

ただし、使い方をきちんと把握してないと差し込み漏れが起きたり、変なページが大量に印刷されて紙が無駄になる。で実際にトラブったので、未来の自分のために覚え書きを残しておく。

今回は領収書を差し込み印刷で作ろうとしてトラブったのだが、流れは以下の通り。

1. テンプレート文書の用意

Microsoft Office Onlineから、Word用の領収書テンプレートをダウンロード。紙を節約したいということもあり、A4の1ページに4枚印刷できるものを選択。このテンプレートを使って新規の文書を作成。

2. 差し込むデータソースの選択

Word2007の場合、「差し込み文書」メニューの中にある、「宛先の選択」で「既存のリストを使用」を選択すると、ExcelやAccessといったデータソースを選択するダイアログが表示される。今回の場合は、ここで所定のデータが含まれているExcelファイルを選択。この後、条件を指定して(あるいは手動で)差し込みデータを絞り込むことも可能。

3. 差し込みフィールドの挿入

データソースの各フィールド(宛先・金額・但し書きなど。Excelでは各列というべきか)は対応する差し込みフィールドに埋め込まれる。ダウンロードしたテンプレートそのものには差し込みフィールドが無いので、フィールドを今作った文書に埋め込む。Word 2007の場合、上記と同じ「差し込み文書」メニューに「差し込みフィールドの挿入」があり、これを押すとデータソース中の各フィールドが表示されるので、例えば宛名なら宛名を差し込むべき位置にテキストカーソルを持って行った状態で「宛名」を選択する。そうすると文書上に≪宛名≫という表示が現れる。

本当に差し込まれるかどうかを確認するには、「結果のプレビュー」を押す。データソースの各フィールドが、差し込みフィールドの位置に埋め込まれた状態で画面表示される。これ自体は文書に影響を与えない(もう一度プレビューボタンを押すと元に戻る)。

ここではまった点が2つ。第1に、1ページに1データであれば問題無いのだが、今回のように1ページに4データを差し込む必要がある場合、ページの途中で「次のデータに進む」ことを明示しないといけない。これには、「ルール」のひとつであるNext Recordというものを領収書の切り替わりの場所に埋め込めばよい。ルールもメニューから選択でき、≪Next Record≫という形で画面上に現れる。

ここで、いい気になってすべての領収書の最後に≪Next Record≫ルールを入れてしまったのが間違い。ちょっと冷静になれば分かることだが、元々1ページごとに自動的に次のレコードに進むのだから、1ページ中の「最後の領収書」には≪Next Record≫を書く必要がない。というか、書くと誤ってレコードを1つ飛ばしてしまうのだ。今回は1ページ4レコードずつなので、(4n+1)番目のレコードが全部印刷されない、という結果になってしまった。

はまった点その2。使用したテンプレートでは、額面を表示する部分のデザインを良くするためにテキストボックスを使っている。ところが、ここに額面の差し込みフィールドを指定すると、そこだけは各レコードごとの額面が反映されず、何故か特定のレコードの額面が繰り返し表示されてしまう。

たぶん1つのページにおいて、テキストボックス中の差し込みフィールドが参照される順番が(画面上の見た目と異なっていて)特殊なんだと思うのだけど、具体的にどうすれば修正できるのかはまだ分かっていない。テキストボックスの代わりにレイアウト枠というのを使うとうまく行くという話もあるが、使用したテンプレート中のテキストボックスを直接レイアウト枠に変換すると、領収書自体のレイアウトがガタガタに崩れてしまう。修正するのも面倒なので、まだ検証はしていない。

以上、備忘録。

2010年1月13日水曜日

そうでしたquery-sourceでした

研究室のリゾルバ(BIND9)は普段、親玉のサーバを見るようにforwarders設定しているのだけれど、ちょっとした実験のためにforwarders設定を止めることにした。

ところが、ルータのファイアウォール設定を(53番ポートについて)開けても、応答が帰ってこない。学生と一緒に変だ変だと悩んでいたのだけど、いろいろ調べてquery-sourceっつー設定があることに気づいた。

古いBINDだと問い合わせは53番ポートを介すため、INBOUNDの53番を開けておけばOKだった。ところが新しいBINDでは問い合わせにランダムな非特権ポートを使う標準設定になったので、開ける場所が特定できない。ということで、query-sourceを使ってポートを固定し、そこをファイアウォールで開けた。うまくいくじゃん、良かった良かった。

【Feb.04, 2010追記】
これはあくまでファイアウォールがBINDのport randomizationに対応していない場合、かつ実験用ということで。常時運用の場合、キャッシュポイズニング対策のためにもポートを固定すべきではありません。

2010年1月6日水曜日

Twitterの更新情報を貼ってみた

Twitterが面白そうなので、ちょっと使ってみている。

で、ただつぶやいていてもしょうがないので、Blogger側に更新内容を表示させるウィジェット(Blogger的な用語だとガジェット?)を貼り付けてみた。

最初はBloggerが用意している……というか第三者が作って提供したらしい "Twitter Updates" というガジェットを使ってみた。Bloggerのレイアウト画面上にある「ガジェットの追加」をクリックして、出来合いのガジェットから選択すればOK。ところが、こいつを貼り付けると何故か他の人のツイートが表示されてしまう。"Twitter Updates Blogger" で検索すると、同じようなトラブルが起きているようだが、具体的にどう解決したのか書いていない。

しょうがないのでこっちのガジェットは諦め、Twitter側で用意しているウィジェットを使ってみることにした。「自分のサイト」メニューで表示される一覧から、プロフィールウィジェットを選択すればよい。ユーザ名の指定、Preferences、デザイン、サイズを適当に選び、「完了&コード取得」を押すとブログに埋め込むべきコードが表示される。Bloggerの場合、ご丁寧にBloggerへ貼り付けるボタンが表示されるのでこいつを使う。

ただしFirefoxのアドオンでNoScriptを使っていると、ボタンを使って貼り付け操作をした場合、XSS的な挙動を示すためにブロックされてしまう。ここは信じて再読み込みを許可するしかない。こちらのウィジェットは、問題無く自分のつぶやきが表示された。

2009年10月30日金曜日

Ubuntu 9.10へのアップグレード

どうやらUbuntu 9.10 (Karmic Koara) がリリースされたらしい。

例によって、「アップデート・マネージャ」のところにボタンが表示されるので、ポチッと押して(ボタンを押すときはポチッと言うことになっている)アップグレード開始。

元々8.10 Desktopの日本語REMIX CDをベースに入れ、それを9.04にアップグレードしてあるのだが、今回も日本語関係のパッケージを追加するリポジトリは一旦無効にされる(Ubuntuの案内を参照)。

パッケージのダウンロード自体は、そこそこのリンクが用意できれば10分ちょっとで済む。その後、console-setupというダイアログが開いてキーボードの選択を行うが、ここで日本語106キーボードが見つからないので、とりあえずGeneric 101 (intl) にしておく。日本語パッケージを追加した後で修正する必要があるだろう。

ダイアログが、「アップグレードのインストール」に切り替わると、ここからはそれなりに時間が掛かる。おおよそ40分というところか。途中、背景イメージが変わったり、ダイアログが灰色(応答無し)になるなどの反応があるものの、とにかく適当に放っておくとアップグレードは進行していく。

が、途中でgrubのメニュー内容選択と同時に

「linux-2.6.31-14-genericがインストールできません」

というダイアログが出る。げ、カーネルじゃん。しかも詳細表示の部分が文字化けしていて読めない。しょうがないのでこのダイアログは閉じて、しばし進行を見守る。また同じダイアログが出る。 改めて内容を読む。

"The upgrade will continue but the 'linux-image-2.6.31-14-generic' package may not be in a working state. Please consider submitting a bug report about it."
(訳:とりあえずアップグレード続けるけどさ、このlinux-imageホニャララっていうパッケージはちゃんと動作しないかもよ。バグ報告することも考えてね。)
だそうだ。カーネルが起動中なので旧バージョンの削除・置換が出来ないという程度の意味ならばよいが、現状が分からないのでまた進める。結局、アップグレードが完了した時点でlinux-genericとlinux-image-genericの2つのパッケージについて、インストールに失敗した旨の表示になる。また、アップデートマネージャが予期せず終了したとか、かなりヤバめなダイアログが続々表示される。

それでは、ということで改めてアップデート・マネージャを起動すると、linux-image-2.6.31-14-genericが「新規インストール」という但し書き付きで表示されるが、それとともに「システム上に1個の破損パッケージがあります!それを特定するために "破損" フィルタを使用してください。」というダイアログが表示される。そこを無視して突き進むと、パッケージのインストールを開始するのだが、最後に
E: /var/cache/apt/archives/linux-image-2.6.31-14-
generic_2.6.31-14.48_i386.deb: 壊れているファイルシステム上のtarファイル -
パッケージアーカイブが壊れています
という表示になる。「破損フィルタ」とは何ぞやと調べてみると、Synaptic パッケージ・マネージャのカスタムフィルタを指しているようなのだが、これはあくまで「破損しているパッケージを探す」だけの役割しかなく、再インストール指定をしてもダメ。

で、しょうがないから上記のキャッシュディレクトリに保存されているdebファイルを削除してから再度パッケージ・マネージャでインストールを試みると、今度はダウンロードからやり直してくれてインストール成功。どうやら、最初にダウンロードしたパッケージが何かの理由で(何だ?)破損していたというのが理由だった様子。
(10/30追記:Microsoft Virtual PC 2007上に構築してあった別のUbuntu 9.04からアップグレードしてみたところ、上記のようなエラー等は一切発生しなかった。やっぱりパッケージファイルの破損が原因と思われる)

再起動すると……凄いなあこの起動画面。渋い。後は日本語パッケージの再設定をすることにしよう。

2009年10月9日金曜日

東武東上線の迂回経路を考える


全然techじゃないんだけど、昨日ずいぶん苦労をしたので、備忘録的に「もしも東上線が止まったら」を目的地別に考えてみる。

北池袋~和光市
目的地が線路の南側なら、池袋からメトロの有楽町線/副都心線を使えばよい。下赤塚・成増・和光市あたりは新宿から都営大江戸線を使う手もある。線路の北側なら、巣鴨または板橋から都営三田線が代替路。だいたい15~20分も歩けばいいし、徒歩が辛い場合でも国際興業バスがかなり広範にカバーしている。成増・和光市は西武バスが多い。これらが揃って休止するというケースはまずあり得ないし、そうなったらもう諦めるしかない。 

朝霞
メトロで和光市か、武蔵野線で北朝霞に出て、徒歩。和光市からなら20分くらいで着くはず。朝霞台からは東武バスもある。西武池袋線大泉学園駅からの西武バスもあり、これは本数も多く22時台まである。

朝霞台
武蔵野線に出て北朝霞を目指せばよい(実質同じ駅)。埼京線で武蔵浦和に行くか、または西武池袋線で秋津(ここは乗り換えが分かりにくく、武蔵野線の新秋津まで徒歩で5分くらいかかる)。よくあることだが武蔵野線も止まった場合、西武池袋線のひばりヶ丘または東久留米から西武バスがある。

志木
朝霞台から徒歩、やはり20分もあれば着くはず。西武バスまたは東武バスもあるが、本数は少ない。西武池袋線のひばりヶ丘、清瀬からの西武バスは結構本数がある。また京浜東北線の浦和から、国際興業バスがそこそこ出ている。

柳瀬川・みずほ台・鶴瀬・ふじみ野
他の鉄道から遠い上、バス路線もほとんどない。東上線が止まると陸の孤島。柳瀬川は志木から歩ける(30分くらい?)のでがんばる。これがみずほ台だと1時間。鶴瀬、ふじみ野は上福岡から歩く方が近く、やはり1時間ないし30分程度かかると考えられる。タクるつもりなら武蔵野線の北朝霞・新座・東所沢か、ふじみ野まで行けば川越線の南古谷という手もある。

上福岡
埼京線(川越線)南古谷から西武バスがある。大宮~所沢を結ぶ路線も通るが、本数が少ないので役に立たない。南古谷から歩く場合は1時間弱、川越からだと1時間強か。

新河岸
川越から徒歩。多分40~50分くらい?

川越・川越市
埼京線(川越線)に加え、西武新宿線も使えるため、迂回経路は潤沢。ただし埼京線もよく止まる。高崎線の上尾・桶川・鴻巣からそれぞれ東武バスが出ているが、いずれも本数は少ない。

霞ヶ関・鶴ヶ島
この辺からまた陸の孤島。霞ヶ関ですら、川越市から歩いて余裕で1時間。川越線の的場からなら霞ヶ関まで15分程度、鶴ヶ島は1時間かかりそう。川越線の笠幡駅そばから鶴ヶ島までの東武バスがあるが、本数が少なすぎ。ちなみに川越/川越市からタクると2000~3000円程度か。

若葉
川越駅から東武バスがあるが、1時間に1本程度(最終は平日で22:21、土休は20:57)。坂戸までの電車があれば、そこから徒歩で30分程度。

坂戸
東武越生線に支障が無ければ、川越から川越線→高麗川から八高線→越生から東武越生線という大回りの経路があるにはあるが、特に八高線の本数が少ないので大変(1時間以上かかる)。ちなみに高麗川発越生方面の最終は22:20。川越線笠幡・武蔵高萩からの徒歩だと、1時間半~2時間は見るべきか。

北坂戸・高坂
北坂戸は坂戸に近く、まあまあ徒歩圏内(30分程度?)。高坂は本気で他の駅から遠く、かろうじて隣の東松山まで徒歩1時間弱というところか。都幾川を渡るあたりはメチャメチャ寂しいので、正直歩きたくはないだろう。川越からのタクシーは5000~6000円コースだろう。

東松山
川越から東武バスがあるが、ほとんど途中の八幡団地で止まってしまう。東松山行きは20時台が最後。高崎線鴻巣駅から川越観光自動車(いちおう東武グループ)が来ていて、こっちは22時台まである。 (10/26追記:この他に熊谷から国際十王交通(これも東武グループ)というまた勇ましい名前のバスが路線を持っている。ここも22時ちょい過ぎまではあるので、何とかなるか。)

森林公園・つきのわ・武蔵嵐山
森林公園はかろうじて東松山から徒歩圏内(1時間弱)。あとはもうタクるしかあるまい。
(10/26追記:あと前述の国際十王交通で、熊谷駅→立正大学→森林公園駅と乗り継ぐ方法があるが、立正大学21時45分が最終らしいのであまり現実的ではないだろう。)

小川町
川越から川越線→高麗川から八高線という迂回ルートはある。また高崎線の熊谷に行き、そこから秩父鉄道→寄居から八高線または東武に乗り換える手もある(東武の寄居~小川町は東上線から事実上切り離されているので、逆に障害の影響を受けない可能性が高い)。

ちなみに、昨日の障害について2ちゃんねるあたりで観察していると、さすがに東上線沿線だけあってスリーデーマーチの参加経験者が多く、1~2時間程度の徒歩帰宅は「練習代わり」として敢行した人がそこそこいたようだ。自分も災害や交通障害の予行演習として、たまには徒歩帰宅をやってみようか。

2009年6月18日木曜日

Parallels Tools doesn't support Ubuntu 9.04 (Jaunty) yet...

MacOS Xを動かしたまんまでWindowsやLinuxのデスクトップを使いたい関係があって、Parallelsを入れた。WindowsはXP SP3、LinuxはUbuntu 9.04。

で、ゲストOSとMacOS Xとの連携を高めるためのParallels Toolsをインストールしたいのだけど、どうやら現時点でParallels Tools が対応しているのはUbuntu 8.xまでらしい(この辺の議論)。実際やってみてもエラーが出る。

エラーログの内容を見ると、どうもXサーバのバージョンの問題らしく
X server: xorg, v1.6.0
Install X modules from directory: .1.6
System X modules are placed in /usr/lib/xorg/modules
Error: there is no X modules for this version of X server
Error: failed to install user space applications and drivers

てなメッセージが出ている。Ubuntu 8.10 (intrepid) はサーバが1.5だったはずなので、そこの違いなのだろう。

いろいろ調べると、Parallels Toolsは/usr/lib/parallels-tools/tools/prltools にインストールされる。
ここのサブディレクトリに、バージョンに合わせてxorg.1.6というのがあって欲しいのだが、まだない。ということでインストーラがエラーを吐いて終わってしまうようだ。

Parallelsが早く対応してくれることを祈りたい、が、上記の議論から2ヶ月経っても変化は無いようなので、難しいかも。

2009年3月12日木曜日

MacBookに変なOSをいろいろインストールしたメモ(3)

ということで、前のエントリで悩んだ「インストールの順番」問題を何とかクリアし、Windows VistaとFedora 10をインストール。パーティション(ボリューム)の使い方は今のところこんな感じ。

disk0s1: EFI 200MB
disk0s2:Leopard(Journaled HFS+) 150GB
disk0s3: Windows Vista with BootCamp(NTFS) 113GB
disk0s4: Fedora 10 (ext3) 15GB
disk0s5: free (VFAT) 15GB
disk0s6: Linux swap 4GB

ちなみに、Fedora 10のインストール後にWindows Vistaを起動しようとすると、「winload.exeが見つからない」というコンソールエラーが表示されて起動に失敗する。

おそらく、元々VFATでフォーマットしていた(Dドライブに見えていた?)disk0s4をext3でフォーマットし直したことで、情報の不一致が起きたのではないかと思われる。VistaのインストールCDから起動して、「修復する」機能を用いたところ、一瞬で直せた。

英語配列のノートPCで日本語配列設定にしちゃった時に、アンダースコアを入力するTips

US配列のLG gram SuperSlimを購入した。で、Windowsの初期セットアップを始めたところ、最初に選択できるキー配列はMicrosoft IME(まあ要するに日本語配列)だけ。で、その後に「追加のキー配列」を選択できるのだが、後でやればいいやと思ってスルーしてしま...