玄齋詩歌日誌

アメーバブログを退会しました。ヤフーブログだけ続けます。よろしくお願いいたします。

過去の投稿日別表示

[ リスト | 詳細 ]

全1ページ

[1]

イメージ 1

イメージ 2

イメージ 3


僕は現在、以下の『全唐詩』のサイトから漢詩をコピーしてまとめるという
作業をしています。

簫堯『中國詩苑』 - 《全唐詩》總目(私人公益 全文免費下載)
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 の文書ファイルになった様子が三枚目の画像です。
一件の面倒事が解決できました。僕はこういうことを考えるのが好きです。

プログラミングは高校生以来の趣味で、学生の頃の研究分野でもありました。
書道や水墨画のような風流な特技を持たない僕は、
日々このようにして楽しんでいます。

全1ページ

[1]


.

ブログバナー

白川 玄齋
白川 玄齋
男性 / 非公開
人気度
Yahoo!ブログヘルプ - ブログ人気度について
検索 検索

詩歌関連

写真・画像関連

文学・語学・その他

殿堂入り

自由律俳句

登録されていません

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

よしもとブログランキング

もっと見る

プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事