« 乱読日記[113] | トップページ | 漏れ抜けた はなし »

2009年1月14日 (水)

文書破棄ばなしと、マクロと

従業員に対する源泉所得税の支払い期限が近づいてきた。給与にかかる源泉所得税は、事業主が一時的に預かっておき、半年ごとに納付することになっているわけだが、こういうことに慣れていない私としては、なぜ今頃税金が?と、ちょっと驚いてしまった。

▽ とかく半年にも及ぶ期間であると、支払い等に関係する書類をためておくだけでも結構な作業になる。いっそ、破棄できたらすっきりすると思うが、それは一応、規則の方が許してはくれず…。

■ ラムバス社とマイクロン社との争いで、デラウエアの地裁が、

ラムバス社の特許権の効力は無効

と言い出したという。
 何故無効という判断が出たかというと、ラムバス社が故意に訴訟関連資料を破棄したからだという話である。
 どうもネットワーク上の情報だけでは、詳しい状況が明らかではないが、ラムバス社は、事業に係る多数の文書を破棄した模様で、その中には訴訟の行方に影響を与えるものがあった、と判断されたものらしい。
 おそらくは、clean hands というか、bad faith というか、訴訟過程での不正な行為であると判断されたものだと思うが、こういうことがあるから、米国関係の訴訟事件というのは、いまひとつ難しいんだよねぇ。
 当然ながら、マイクロン側は、諸手を挙げてこの結論を賞賛しており、他の裁判所でも同じ判断が適用されるはずだと主張している(http://www.micron.com/about/news/pressrelease.aspx?id=9D2109CEEFA2B68E)。
 逆に、ラムバス社は、カリフォルニアの裁判所の判断に抵触しているとして、おかんむりだ(http://www.rambus.com/us/news/press_releases/2009/20090109.html)。
 そのうち「国際商事法務」あたりの雑誌で、顛末を取り上げてくれるといいのだが。

■ しかしながら今回は、上の程度のニュースしか見つからず、これ以上のコメントのしようもない(敢えてコメントすると、単なる憶測に基づくものになってしまう)。
 というわけで、少々別な話題に。
 以前から言っていた、明細書新フォームでの段落番号付与マクロの件だが、本日、と、ある弁理士先生の圧力により、「一太郎バージョン」がワード版よりも先に仮完成。ここに公開。
 「仮」というのは、デバッグが十分でない、という意味で、いろいろな場合について試したわけでないので、ご利用になる場合は、不具合がでたら教えていただければ幸い。そんなわけなので、再配布はご遠慮ください。改変はご自由にどうぞ。利用は無料ですが、寄付は常に welcome です :)。
 そして、そういう程度のリスクがあることをご承知のうえ、ご利用頂きたく。コードはかなり quick hack を多用しているので、なんとなく「スパゲッティ」になっている部分があるのはご愛敬ということで。
 あ、そうそう。仕様上、分かっている不具合としては、「【符号の説明】」がない明細書の場合、段落番号付与の処理が終了しないので、どうなるか見当つきません。明細書の末尾に必ず「【符号の説明】」を入れておいて頂き、不要な場合は後で消してください。

!! mk'em numbered
!! Version 0.8 09.01.14 -- ntakei@mac.com
!!

!! 初期化
declare variable str
%flg = 0
%para = {.Title = "エラー", .Icon = 4}
errorbreakmode(1,1,0)

!! ほんちゃんの処理
文書頭()
SearchString(.検索文字列="【技術分野】",.検索方向=3,.あいまい検索=1)
if not SearchStringResult() then
MsgBox("「技術分野」の見出しがありません。本当に明細書ですか? 処理中断します", %para)
stop
end if

行頭
Insert(" 【0001】",1)

!! ここでカウンタをリセット
%cnt=2

!! ループ開始
Do
!! 段落番号用の文字列作成
if %cnt < 10 then
str = "000"
else if %cnt<100 then
str = "00"
else if %cnt <1000 then
str = "0"
end if
str = str & String (%cnt)
str = " 【" & Zen(str) & "】"

!! 改行が段落候補
SearchString(.検索文字列="\n",.検索方向=1,.あいまい検索=1)

行頭
!! 行頭が全角空白ならば段落挿入
if GetCharacter() = "【" then
%flg = 1

else if GetCharacter () = " " then
!! しかし、次の場合は例外
do

loop while GetCharacter() = " "
if GetCharacter() = "【" then
%flg = 1

end if
end if

if %flg=1 then
!! 【符 があった。たぶん明細書の末尾
if GetCharacter() = "符" then
!! 新形式では、符号の説明にも段落が必要

行頭
Insert(str,1)
Stop
end if
!! 数、化、表の前には段落番号を打つ。
if GetCharacter() = "数" then
%flg = 0
end if
if GetCharacter() = "化" then
%flg = 0
end if
if GetCharacter() = "表" then
%flg = 0
end if
if GetCharacter()="図" then

if GetCharacter()="面" then
%flg = 2
end if
end if
if GetCharacter()="特" then




if GetCharacter()="】" then
%flg = 2
end if
end if
if GetCharacter()="非" then





if GetCharacter()="】" then
%flg = 2
end if
end if
end if

!! では段落番号を入れます。
if %flg = 0 then
行頭
Insert(str,1)
%cnt=%cnt+1
end if
if %flg = 2 then
行頭

Insert(str,1)
%cnt=%cnt+1
end if
!! フラグをリセット
%flg = 0
Loop While SearchStringResult()

!! 終わり

■ 【特許文献】に対応する処理あたりが、ちょっと見苦しいのだが、これでも動くので、まぁ、ご勘弁のほど。
 で、くれぐれも、ご利用の際は、誤って段落番号がつく可能性等があることをご承知いただき、不具合が生じた場合はご連絡のほど、繰り返しお願い申し上げます。ご利用にあたり、皆様に損害が発生致しましても、当方としては責任を取りかねますので。

|

« 乱読日記[113] | トップページ | 漏れ抜けた はなし »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: 文書破棄ばなしと、マクロと:

« 乱読日記[113] | トップページ | 漏れ抜けた はなし »