|
僕は現在、以下の『全唐詩』のサイトから漢詩をコピーしてまとめるという
作業をしています。
簫堯『中國詩苑』 - 《全唐詩》總目(私人公益 全文免費下載)
http://www.xysa.com/quantangshi/t-index.htm
詩の文章をコピーして一句ごとに改行を入れ直して、
それを Excel にコピーして書き下し文を書いていって、
原文と書き下し文がセットとなる形にして、
その後、出来たものを縦書きの Word の文書にコピーする、
そして書き下し文の難しい言葉にふりがなを振っていき、
最後に原文の一文字一文字の間に半角スペースを入れて出来上がり、
それを繰り返していました。
何回も繰り返しているうちに、半角スペースをキーボードで入力するのは
かなり面倒になってきましたので、この作業を Excel のマクロという
Excel の処理を自動化するプログラムを使って行えるようにしました。
次のような Excel のマクロを書いてみました。
' ここからがマクロの本文です。(この行はコメント行です)
' エラー防止のお約束です。
Option Explicit
' 漢詩の本文に一文字一文字に半角スペースを追加するマクロです。
Sub 漢詩原文スペース追加()
' 変数の宣言です。
Dim r As Range
Dim sr As String
Dim sa As String
Dim co As Long
' マウスカーソルで選択した Excel のセルの範囲を一つ一つ取得します。
For Each r In Selection
sa = ""
sr = r.Value
For co = 1 To Len(sr)
' ここの部分で半角スペースを追加しています。
' 一文字ずつ取り出して半角スペースを加えることを繰り返しています。
sa = sa + Mid(sr, co, 1) + " "
Next
' 末尾の全角の丸や点の前後の半角スペースを削除しています。
sa = Replace(sa, " 。 ", "。")
sa = Replace(sa, " , ", ",")
sa = Replace(sa, " 、 ", "、")
' 半角スペースが入った文字列をもとのセルの値に代入しています。
r.Value = sa
Next
End Sub
' ここまでが半角スペースを追加するマクロです。
' 半角スペースを全て取り除くマクロです。
' これは状態を元に戻すために仮に作りました。
Sub スペース削除()
' 変数の宣言です。
Dim r As Range
Dim sr As String
' マウスカーソルで選択した Excel のセルの範囲を一つ一つ取得します。
For Each r In Selection
' セルの値を取り出しています。
sr = r.Value
' 半角スペースを空っぽの文字列に置き換えて取り除いています。
r.Value = Replace(sr, " ", "")
Next
End Sub
' マクロの本文の終わりです。
どんな風になるかを上の画像で示しています。
マクロ使用前の状態が画像の一枚目です。
このようにしてマウスで範囲を選択して、マクロを実行しますと、
二枚目の画像の状態のように半角スペースが一文字ごとに追加されています。
そして作業を終えて Word の文書ファイルになった様子が三枚目の画像です。
一件の面倒事が解決できました。僕はこういうことを考えるのが好きです。
プログラミングは高校生以来の趣味で、学生の頃の研究分野でもありました。
書道や水墨画のような風流な特技を持たない僕は、
日々このようにして楽しんでいます。
|
簡単な自動処理プログラムですね。でもExcelでは使ったことがない〜一括処理したい入力がない^^;
私の学生時代はパンチカード!?でFORTRANでした。ポチ。
2011/6/8(水) 午後 3:39
ひろちんさん、コメント + 傑作ポチ、ありがとうございます。
当初は何かの関数一つで出来るかなと思っていましたが、
一文字ずつ切り出して処理する方が早いなと思いましたので、
今回のようなマクロになりました。
Word のマクロも時々作っています。
漢詩の合間にちょっとしたプログラムを作って遊んでいます。
パンチカードで FORTRAN ですか。時代を感じますね。
僕の頃には C 言語でした。ポインタを覚えるまでが一苦労でした。
2011/6/8(水) 午後 3:49
ひえぇ〜〜
すごい作業されているんですね
とても勉強になります
☆です
2011/6/8(水) 午後 5:18
たしかに、Excelからwordにたくさんコピーするのは手間暇がかかりますね! 表計算とか棒グラフ等の作成するにもマクロを設定して行うと、自動的に記録してものが、くみされるので、楽になりますね。仕事柄、ホ-ムページを作成した時には、ツ-ルバ-を利用して、行や列、セルの挿入、削除等や、セルの書式設定、セルの分割、結合等々…苦労して作業したことを、ふと思い出しました。玄さんが、よりよく、効率に、心身に負担かけない事が一番のモノ創りですね
あまり根詰めずに、ゆっくりと…頑張ってくださいね
2011/6/8(水) 午後 11:23 [ - ]
あぐさん、コメント + 傑作ポチ、ありがとうございます。
少しでも単純作業を回避しようと、時々プログラミングをしています。
僕が以前に学んだことが活かせることが出来て楽しいです。
漢詩に関係するいろんな事も可能な限り学んでいこうと思います。
2011/6/9(木) 午前 8:39
さんぼうやまさん、こめんとありがとうございます。
Excel や Word でマクロを設定して、記録されたマクロを見ながら
どういう風にソフトが動いていくかということを学んだりしていました。
Excel は統計やちょっとしたリストを作るには便利ですね。
短歌も Excel を使って整理しています。検索にも便利です。
身体にも負担のない方法を探りながら、少しずつがんばっていきます。
2011/6/9(木) 午前 9:51
直ぐに忘れるのでもう頭が追い着きません。(@_@;)トホホ!
2011/6/9(木) 午前 10:08
みなせさん、コメントありがとうございます。
僕も毎日いろいろと忘れるので最近はメモが欠かせません。
これからも少しずつがんばっていきます。
2011/6/9(木) 午前 11:44
玄(玄齋)さん
こんにちわ〜
ヾ(=^▽^=)ノ

って感心していました
私には理解不能ですが‥‥
漢詩の縦書きを書いておられるのを見て、
凄い技だわ〜
ダブルポチ
2011/6/9(木) 午後 3:14
金木犀の風さん、コメント + ダブルポチ、ありがとうございます。
Excel や Word を少しでも便利に使っていこうという試みの一つです。
今回の記事は難しい内容になってしまったかなと改めて思いました。
縦書きにすると漢詩は結構見栄えがするように思います。
ブログの画像にするにはまた別のソフトを使って画像ファイルに変換しています。
文字を画像にすると文字化けしていても読めそうだと思いますので、
これからも続けていこうと思っています。
今後もいろんな工夫を試していこうと思います。
2011/6/9(木) 午後 3:38
玄さん
色々ありがとう

です。コメントもいつも、温かく、ブログを初めた時から、随分玄さんの漢詩で、支えられたり、忘れかけた、本来の自分の感性を、掘り出して貰えて、感謝します。年は玄さんより、人生をたくさん重ねていますが、この四十代で、色々と教わる事があり、自分の心の引き出しが、少し多くなったきがします。ゆっくりと…頑張ってくださいね
2011/6/9(木) 午後 5:30 [ - ]
ちんぷんかんぷんですが、
は使い方がいろいろあるのだと、若葉マークの私はタダタダ感心するばかりです
2011/6/9(木) 午後 6:21 [ フー ]
常に研鑽されている方はすごいですね。
玄さんのブログで、高校生で挫折した漢文を
もう一度学びなおすきっかけと作っていただきました。
今、漢詩入門 一海知義著を読んでます。
玄さんの詩を少しでも多く味わうことができたらと思います。
2011/6/9(木) 午後 7:49 [ - ]
私はエクセルマクロ、少し触ったことがあるのですが、文字列の扱いはほとんど何も分かりません。
Replace ... 便利な関数ですね。
2011/6/10(金) 午前 2:06 [ Kapok ]
玄さん
おはようございます。
私にはとても難しくて追いついて行けませんです(汗)
玄さんのいつも真摯なお姿には敬服しています。
だから作品もみなさんの心を打つものが出来て来るのですね。
また 漢詩を楽しみにしていますね。
2011/6/10(金) 午前 8:11
さんぼうやまさん、コメントありがとうございます。
お庭の薔薇の写真はいつもきれいですね。僕も刺激を受けています。
僕は人生経験が乏しいので、いろんな場面で間違いを犯さないように
一層気をつけていこうと思っています。
漢詩とともに、少しずつきちんと人生経験を積んでいこうと思います。
これからも少しずつがんばります。
2011/6/10(金) 午前 9:29
フーさん、コメントありがとうございます。
Excel などのソフトをプログラミングで自動的に操作できるのが楽しいので、
マクロというプログラムを使って時々楽しんでいます。
パソコンについても常にいろんな情報を探っていきたいなと思います。
2011/6/10(金) 午前 9:33
まーるさん、コメントありがとうございます。
PC の文字入力についてのいろんな事も調べています。
うまいこと工夫する方法を今後も探していこうと思います。
こんなブログでも漢詩や漢文の面白さがほんの少しでも伝えられたらと思っています。
『漢詩入門』も良い本ですね。基本的なことが書いてあるので何回か読みました。
あと、『唐詩概説』小川環樹著はかなり良い本です。
漢詩を始めるに当たって読んだ本です。今でも読んでいます。
入門書をあれこれと読むのも楽しいです。
2011/6/10(金) 午前 9:39
Kapok さん、コメントありがとうございます。
マクロは基本的には VisualBasic の文法に沿っていますので、
いつも VisualBasic の入門書を手元に置いてマクロを書いています。
文字の置換には結構 Replace を使っています。
一文字一文字取り出して間に半角スペースを挿入するときも
Replace が使えるかなと当初思っていましたが、
それよりも Mid 関数で一つ一つ処理する方が良いということがわかりました。
作っていくうちに少しずついろんなことが分かってきました。
今後も少しずつ学んでいこうと思います。
2011/6/10(金) 午前 9:45
y5812y さん、コメント + 傑作ポチ、ありがとうございます。
パソコンについていろんな事を学んできたことが、
最近になって活用する機会が出て来たのが嬉しいです。
いろんな形で工夫していきながら漢詩が作れればいいなと思います。
またこれからもがんばっていきます。
2011/6/10(金) 午前 9:49