2008-10-14

Word: 変更履歴の表示方法

変更履歴を実際に使用すると、結構いろいろな表示方法をさせたくなるもの。


よく使うのが、挿入箇所に下線、削除箇所に取消線というもの。ただ、削除箇所が多いと極めて見にくいので、削除箇所を隠し文字にすることもあります。また、挿入箇所についても、元の文字に下線がついてしまっていないか確認する場合は、挿入箇所を色のみとする必要があります。Wordの文字の書式は、直前の文字の書式に引きずられますが、元の文字に色がついている可能性は、元の文字に下線がついている可能性よりずいぶんと少ないですからね。

通常ですと、文書履歴ツールバーを表示し、その表示->オプションから変えますが、結構頻繁に変更するので、ショートカットキーを割り当てることにしました。

というわけで、挿入箇所の表示方法の変更を、alt+insertに割り振り、下線と色のみをが交互に入れ替わるようにし、削除箇所については、alt+deleteで隠し文字と取消線が交互に入れ替わるようにしました。

ショートカットキーの割り当て

'変更履歴挿入・色だけか下線か
CustomizationContext = NormalTemplate
KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyInsert, wdKeyAlt), KeyCategory _
:=wdKeyCategoryMacro, Command:="挿入履歴"

'変更履歴削除・取消線か隠し文字か
CustomizationContext = NormalTemplate
KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyDelete, wdKeyAlt), KeyCategory _
:=wdKeyCategoryMacro, Command:="削除履歴"

中身の機能

Sub 挿入履歴()
'下線か色だけか
If Options.InsertedTextMark = wdInsertedTextMarkColorOnly Then
Options.InsertedTextMark = wdInsertedTextMarkUnderline

Else

Options.InsertedTextMark = wdInsertedTextMarkColorOnly

End If

End Sub

Sub 削除履歴()
'取消線か隠し文字か
If Options.DeletedTextMark = wdDeletedTextMarkStrikeThrough Then
Options.DeletedTextMark = wdDeletedTextMarkHidden
Else

Options.DeletedTextMark = wdDeletedTextMarkStrikeThrough

End If

End Sub



Word: 次の検索箇所

Wordの検索は、検索画面が別途出てきて、なにげに邪魔となっている場合がある。モニターが何画面もあればいいのですが、そういう環境でない場合も当然あるわけです。


そういった場合に、今の検索条件で、もう一つ次の場所を表示したい場合にショートカットキーを設定できないか、というのがこのエントリ。

次の検索というのは、元からショートカットがある。ctrl+page down。同様に前を検索はctrl+page up。

しかし、これは別のショートカットキーとかぶっているのである。

Wordで、page up/downすると、1画面分移動する。これは有名なので使っている人も多いと思われます。

Wordで、紙をぱらぱらめくる感じで次のページの先頭に移りたいという場合もあります。例えば、5ページあとと手元のプリントアウトで見て、その後、画面を移動するとき。このときのショートカットがctrl+page up/downとかぶっているのです。

従って、デフォルトでは、検索条件を入れていない状況では、ページが移動し、検索条件を入れているときは、前後の検索に移動します。

特に大画面を使っていると、このショートカットキーはいずれも利用するので、この混乱はとても困ります。

その混乱を解決するべく、別のショートカットキーを割り振るというのが、今回のマクロ。

ページの移動をctrl+page up/downに、検索の前後を、alt+テンキーのプラス/テンキーのエンターに割り振ってみました。

割り振りマクロ

'次のページ ctrl pagedown
CustomizationContext = NormalTemplate
KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyPageDown, wdKeyControl), _
KeyCategory:=wdKeyCategoryMacro, Command:="次のページ"

'前のページ ctrl pageup
CustomizationContext = NormalTemplate
KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyPageUp, wdKeyControl), _
KeyCategory:=wdKeyCategoryMacro, Command:="前のページ"

'次の検索 alt enter(ten)
CustomizationContext = NormalTemplate
KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyReturn, wdKeyAlt), KeyCategory _
:=wdKeyCategoryMacro, Command:="次の検索"

'前の検索 alt +(ten)
CustomizationContext = NormalTemplate
KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyNumericAdd, wdKeyAlt), _
KeyCategory:=wdKeyCategoryMacro, Command:="前の検索"


で、次が肝心の中身の動き。

Sub 次のページ()
'
'次のページへ ctrl + PageDown
With Application.Browser
'表になど対応できるように変更。元は下記
' .Target = wdBrowsePage
.Target = wdBrowseGoTo
.Next
End With

End Sub

Sub 前のページ()
'
'前のページへ ctrl + Pageup
With Application.Browser
'表になど対応できるように変更。元は下記
' .Target = wdBrowsePage
.Target = wdBrowseGoTo
.Previous
End With

End Sub

Sub 次の検索()
'
Dim test
'次の検索へ Alt + num +
With Application.Browser
.Target = wdBrowseFind
.Next
End With

End Sub

Sub 前の検索()
'
'前の検索へ Alt + Enter
With Application.Browser
.Target = wdBrowseFind
.Previous
End With

End Sub





Word: Delta View

Word 間の文書を比較する方法にWorkshareについている、Delta View という機能を使うという方法がある。Wordの文書比較よりも優秀な結果を示してくれるため、導入している法律事務所は多い。

http://www.workshare.com/


身も蓋も無い言い方をすると、Wordの文書比較がいけてないために存在しているようなニッチ商品であるが、文書屋にはありがたいもの。

ただ、Wordの文書比較のように変更履歴のような見かけで見せてくれるものの、これは変更履歴ではない。そのために、docで保存し、次へという履歴のツールバーのボタンを押しても、うまく作用しない。

専用のDVというソフトでは次の変更箇所というボタンがあるのだが、これでは編集がめんどくさい。

なにより、ほかのソフトの使い方を覚えないといけず、無理。

よって、Wordの機能を使いつつ、次の変更履歴箇所を順次表示していく方法は無いものかと思い、考案したのがこのマクロ。何年もたっていたのだが、依然、使えるようなので、一応掲示してみます。

構造はシンプル。

追加箇所の青、削除箇所の赤、移動箇所の緑のフォントを検索し、全部の箇所に二重線を引くという置き換えを行っているだけ。その後、検索で、二重線の場所を順次検索していけば、擬似的に、変更箇所をぽんぽんぽんと表示できるはず、というものです。マクロを実行すると、ご丁寧に、直後に検索条件まで入っているので、次の検索ってのをするだけで表示できます。

ま、多少なりともお役に立てれば、ですね。

以下、プログラム

Sub DV二重線()
'
' DV活用 Macro
' DVによる変更箇所すべてに2重下線を引く。これにより一括して検索が可能となる。

'画面更新をしない
Application.ScreenUpdating = False



Selection.HomeKey Unit:=wdStory

Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting

With Selection.Find
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Font.Color = RGB(0, 192, 0) 'みどり
.Format = True '上記フォーマットを利用する
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = False
End With

'検索でヒットした文字列に二重下線をつける
Do While Selection.Find.Execute = True
owari = Selection.End '変数の使用 ""を選択としているために一番最後に、不都合が生じるため
If Selection.Start = owari Then Exit Do 'その場でとどまっている場合に、ループから抜ける

Selection.Font.Underline = wdUnderlineDouble
Selection.Collapse Direction:=wdCollapseEnd


Loop

Selection.HomeKey Unit:=wdStory

Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting

With Selection.Find
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Font.Color = vbRed '赤
.Format = True '上記フォーマットを利用する
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = False
End With

'検索でヒットした文字列に二重下線をつける
Do While Selection.Find.Execute = True
owari = Selection.End '変数の使用 ""を選択としているために一番最後に、不都合が生じるため
If Selection.Start = owari Then Exit Do 'その場でとどまっている場合に、ループから抜ける

Selection.Font.Underline = wdUnderlineDouble
Selection.Collapse Direction:=wdCollapseEnd



Loop


Call DV二重線の検索

Selection.HomeKey Unit:=wdStory



End Sub


Sub DV二重線の検索()



Selection.Find.ClearFormatting
With Selection.Find
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Font.Underline = wdUnderlineDouble '二重下線を検索
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = False
End With
Selection.Find.Execute


End Sub





Word: 蛍光ペンをつける

日本に帰ってきました。旅行先でPCがご臨終したので、旅行記は中断。
岡田名監督辞任、阪神V逸、ファンタジーの結果など書いてもいいこともあるが、省略。

ぼちぼち検索でヒットをのばすという方向性から、ちょっとしばらくマクロを書いてみます。

今日のお題は、数行マクロで蛍光ペンをつける



例えば、選択部分に黄色の蛍光ペンをつける命令は、以下。
  Selection.Range.HighlightColorIndex = wdYellow

ちょっと回りくどく、現在選択している蛍光ペンを黄色にした上で、現在選択されている蛍光ペンを塗るとすると以下。
Options.DefaultHighlightColorIndex = wdYellow
Application.Run MacroName:="Highlight"


これが、ツールバーと全く同じ効果ですね。

これだと選択範囲が無い場合、文書は何も変わりませんが、上のツールバーで蛍光ペンの表示がある場合、それが黄色になります。また、すでに黄色の蛍光ペンが塗られている箇所の場合、無色に戻ります。

下の場合、以下のようなマクロ(これはこれで完成型)となります。

Sub 黄色の蛍光ペンを付ける()
'Ctrl + alt + q ・・・・・ここはコメントです。
Options.DefaultHighlightColorIndex = wdYellow
Application.Run MacroName:="Highlight"

End Sub



まぁ、こういったものはショートカットをつけておかないとマクロよりマウスの方が早い。というわけで、次にショートカットの設定。

デフォルトで、ctrl+atl+sで、現在の蛍光ペンの色を塗るという設定になっています。従って、これの周りのキーに色を割り振るのが実際上便利です。

手作業の方法は、ツール->ユーザー設定->キーボードで、設定する方法。これで、例えば、ctrl+alt+aに緑、ctrl+alt+wに黄色とかよく使う設定をすることができます。

ショートカットの割り付けをマクロでやりたければ、

'黄色の蛍光ペンを付ける ctrl alt Q
CustomizationContext = NormalTemplate
KeyBindings.Add KeyCode:=BuildKeyCode(wdKeyQ, wdKeyControl, wdKeyAlt), _
KeyCategory:=wdKeyCategoryMacro, Command:="黄色の蛍光ペンを付ける"


といったかたちになります。

q,ctrl,altで、先ほど作った黄色の蛍光ペンを付けるというマクロを呼び出せという感じです。

最後に、蛍光ペンを消す(無色の蛍光ペンを付ける)方法は、下記。

Selection.Range.HighlightColorIndex = wdNoHighlight

または

  Options.DefaultHighlightColorIndex = wdNoHighlight
  Application.Run MacroName:="Highlight"

非常に簡単な数行マクロですが、蛍光ペンを多用する仕事をしている人には結構便利です。

私の環境では、ctrl + alt+ 以下のキーで、記載の効果としています。
q 黄色
w 無色
a 緑
s 現在選択している色

ご参考まで。よければ試してください。



2008-08-02

旅行記1 ボストンへ

ま、たまには旅行記もいいだろうと、日本への帰国にあたっての旅行記です。


ばたばたとした引っ越しを終えました。途中引っ越し業者が予想より早く到着するなどアクシデントもあったものの、無事家具・その他の日用品を友人に配りおえ、まぁ、なかなか、いい感じではなかったかと。

いつものことではありますが、直前まで何もしないので、ボストン旅行のアレンジはなんにもしていませんでした。とはいうものの、列車の旅、気楽なもんです。

出発の8月1日、昼過ぎに、ボストンで8月2日友人と遊べることを確認したものの、まずは今年初のレストランウィークを満喫し、それから準備です。

CATVの装置を返しに行った足で飛び込みで入ったお店は、Tabla。内装はよく、料理もインディアンフュージョンという珍しい感じのものでした。ヨーグルトご飯などというのは初めて食べましたが、結構いい感じ。また行ってもいいかも。
http://www.tablany.com/

3時過ぎに友人宅に戻り、いざ、予約開始。列車は、あるが、高い。ホテルも都心だと1泊250ドル。2名ならいいが、1名にしては高い。等と悩んでいたら、すでに当日のレッドソックス戦には間に合わない状況。

仕方がないので郊外の安ホテル(それでも1泊160ドル)と、8月2日の野球のチケットだけ予約。この時点で午後4時30分。目標の電車の出発は5時。

チケットは転売サイトのStarhub。今はebayの子会社みたいですね。前日でも気軽に買えるのは魅力。
http://www.stubhub.com/

電車の時刻表はアムトラックのページのScheduleから。
http://www.amtrak.com/servlet/ContentServer?pagename=Amtrak/Page/Schedules_Index_Page&c=Page&cid=1080072922206&ssid=3


そして、あわててペンステーションに向かい、チケットを購入。迷った末、ボストンで食事ができるように、奮発して、アセラ・エクスプレスとやらにしてみる。列ができていたら間に合わない時間に到着するも、さすが金持ち優遇措置に優れたアメリカ、アセラ用の窓口があり、そちらには列がない。あわてて買うと、出発5分前。急いで飛び乗る。

乗ってわかったが、どうやら全席自由席。ええ?ってかんじ。

金曜の夕方5時の便なので、とにかく席がない。探しに探したあげく金髪のねーちゃんと、これまたビジネスマン風の男が座っている4人席(真ん中にテーブルがあり、結構いい感じ)に入れてもらう。


故障のおおいアメリカ、当然、出発直後に、マンハッタンを見ながら小休止。
のどかです。ビジネス用のラインなのに、というのはおいておいて。

この頃には既に判明していたのだが、このねーちゃんのしゃべること。近所のおばちゃんかってかんじ。こんな英語も話せない人に話してもおもしろくないだろうに、と思うが、とにかく一応頷きながら、ボストンのガイドブックを読み始める(なんせついてからの予定を立てないといけない。友人は結婚してボストンに移り住みつつありる、週末婚状態でしらないから、とのたまったため、なぜかこちらで考える羽目に)。ビジネスマン風も、yeah, yeahとか連呼しながら、ねーちゃんの、犬大好き(犬の種類をいろいろ連呼して写真をブラックベリーで見せてくれるのだが、こちとらなんのことだか)、とか、友人が彼氏と別れて、彼氏はその友人の妹とつきあって、もう一度妹とよりを戻して、で、今度秋に結婚だが、どうなると思う?とかの話題(無論間にいろんなエピソードやら友人やら登場しててんやわんや)に相づちをうっている。聞いていないときの反応の9割がyeahとの肯定。すばらしい。。。学びつつ、頷いてみる。返事はなんでもYes!。日本人ですから。。

旅が進むにつれ判明したのは、ねーちゃん、お嬢であること。いろいろ国を旅行したことがあるらしく、また、ビジネスの話題も詳しい。年を聞かれたときに、ありがちな、白人のシミから判断して、さらに、お愛想で、どんどんさばを読んで26といったところ・・・23だと答えられた!いただけませんなぁ(苦笑)。結構あちこちにセカンドハウスや、父の取引先とかいるようで、日本も全国を旅したことあるそうな。はぁ。あ、ちなみに、シミは、どうやらサッカー選手で、ブラジルに留学し、日本代表とも試合をしたといっていたので、そのときのものと思われ。。。

ま、なんか、ちょっと高い席をとると、ショーでも野球でもなんでも、お隣さんはえらい金持ちってのがよくあるのがアメリカ。まぁ、それはそれでおもしろいが、コネクションを作れるほどの会話力もなく、英語力もなく、単にへーという感じである。こっちで知り合いになった友人は、そこでコネクションを作らないと!といっていたが、とてもとても。。。Yesといって聞き流すのがいっぱいいっぱいです。

ま、そんな二人にボストンのステーキハウスと飲み屋街をきき、それはそれでよかった。

実際この日の夕食は、そのねーちゃんが予約を取ってくれたレストラン。ビジネスマン風もおいしいと言っていたので、駅から、これまたねーちゃんが止めてくれたタクシーに乗ってゴー。うーん、アメリカ2年を感じさせない、初々しいアジア人か。ねーちゃんとはここでばいばい。

つくと、なんだか豪勢なステーキハウス。ねーちゃんの母(元バンカー)は、週に何度か来ると言っていたが・・・おいおい、こっちはTシャツに短パン(昨日寝たときのまま)で、スーツケースをがらがら押しているのですが、大丈夫ですか???

気になるものの、まぁ、いいかと。

通されたお得意算用っぽい、よさげな席から、野球中継見たいからとバーに移動してもらう。安上がりにできています。。

言われたとおりにスカートステーキを注文。サイドには芋、そしてタマネギ、前菜にとロブスターの天ぷら(ねーちゃんいわく、ボストンに来たら を注文。芋とタマネギは両方頼むと多いかと聞いたところ、半分半分がいいと店に言われてその通りにした(いいサービスだと思います)のだが、なんせ、おおい。タマネギなんて半分で、山盛りです。

しょうがないので、隣で野球談義に盛り上がっている女性二人組にお裾分け。アメリカは、野球場でも女性を見かけますし、野球の話をできる女性が多いですね。電車のねーちゃんも、マニーの移籍について私はしらないが、父が言っていたと、結構熱く語っていましたし。

とりあえず、話題に入れてもらってしゃべるに、どうやら、この人もバンカーらしい。なんだか、金満ですなぁ。そういう店に来たと言うことか。

いっぱいくって、長引いた延長戦を満喫しました。いやー、Bay、打って良かったねぇ。打たないと昨年のJDドリューだって3人でしゃべっていたところだったから。

戻ってみるに、歩き方にはなかったですが、結構有名な店の模様。なので写真付きで。うーん、下手。
http://www.grill23.com/





2008-07-12

編集者番外編 累積投票と獲得議席数

累積投票で、各株主は、最低何議席確保できるか。


みんなで書いている本にはどうやら書かないことになりそうなので、留学中に思いついたことをメモしてみます。どこかを見たわけではない私見なので、信用性は低いですが。

取締役の選任方法

株式会社の取締役は株主により選任されます。デラウェア法ではその選任方法は相対多数(plurality)。

どういう事かというと、例えば、100株発行会社で5名選任されるとして、その得票がD1:90票、D2:80票、D3:70票、D4:50票、D5:30票、D6:20票である場合、30票のD5まで当選です。特に定めがない限り過半数の票(今回の場合51票)を獲得しているかは問題になりません。

例によってWikipedia
http://en.wikipedia.org/wiki/Plurality


で、実際の選任の場合D1、D2・・・の投票は別々に行われることが多いです。つまり、まずD1さんについて票決し、その後D2, D3・・・と別々にやっていく。実際上、各株主は候補者毎に投票の機会があるということです。

この場合において、株式の過半数を有する支配的株主がいると、支配的株主が賛成する候補者は50%超の得票を得、支配的株主が賛成しない候補者は50%未満の得票しか得られません。従って、支配的株主が議席以上の取締役について賛成票を投じる限り、支配的株主の賛成を得られた取締役候補のみが当選するということになります。

今の定義の方法の場合、支配的株主は51%の株式を持っている場合でもこれにあたります。この場合、残りの49%を1人の人が持っていても、この49%株主は1人として取締役を選任できないことになります。

累積投票制度

取締役に会社の経営権は集中するのが通常なので、会社のエクイティ資本の49%を投入しても1人も取締役を選任できないという不都合を防ぐために、累積投票制度というのを採用することができます。

これは、各株式について、議席数分の投票権を与えられ、それを1人に集中するなど自由に配分して行使することができるやり方です。

先の例で言うと、5名選任するわけですから、51株株主は255個、49株株主は245個の投票権を与えられます。49%株主は、245個の投票権を自由に割り振れるわけですから、これを例えば、1名に集中することができるわけです。その1名は245票獲得するわけですね。51株株主は、245票以上獲得する候補を5人作り出すことはできないので、この1名は確実に当選するわけです。

この累積投票制度下で何名取締役を選任できるのかというのは、パワーバランスを考える上で興味深い話題ですが、日本の会社法(商法)を習ったときは特に式を習いませんでした。留学では、結果のみ習いましたので、ここはちょっと証明でも取り組んでみようかというのが、このエントリの趣旨です(前振り長すぎですが)。

説明のために、論理的な必要性以上に段階を分け、ステップを踏んでいます。。。

最低限確保できる取締役数についての考え方

TS: 総株式数
TD: 選任される取締役の総議席
NS: ある株主(N)の持っている株式数
ND: NSで選任できる取締役数

この場合、
ND<NS×(TD+1)÷TS
が成立し、NDの整数値の最大が、「ある株主Nが自己の票を上手く配分さえすれば、そのほかの株主がいかにNの候補を落選させるべく票を配分したとしても当選させることができる候補者数」となります。要は、最大のNDの整数値が最低限とれる取締役の議席数。

なお、最大限ではないことにはご注意です。N以外の株主は配分が下手かもしれず、また投票しないかもしれません。N以外が1名に集中すれば、その他全部の議席(TD-1)を確保できるわけですし、投票がなければ、全議席(TD)を確保できるわけですから。

で、この式の立証(論理的に穴があるかもしれませんが、一応自分を納得させることができる限度の説明という趣旨です)。

TD名選任されるわけですが、とりあえず、最後の議席を争うとして、TD-1名で考えてみます。今回の投票の結果、当選に必要になる投票数を、vとすると、TD-1名は最低v票獲得しています。このうち、Nの推薦する株主は、ND-1名含まれ、Nの推薦しない取締役は(TD-1)-(ND-1)=TD-ND名含まれているわけです。で、最後の1議席が決戦。

Nもそれ以外の株主も、持っている議決権の個数は一定なので、この決戦にできるだけ多くの票を持って行こうとすると、それまでに使用する議決権をできるだけ減らす必要があります。

NはND-1名に付き、各最低v票獲得させているわけですので、各取締役に付き(v+α1)、(v+α2)・・・と議決権を使用します。この合計(台形の面積ですね)が最少になるのは、無論α1,α2・・・が全て0である場合(vが底辺、高さがND-1の長方形の場合)です。この場合、v×(ND-1)票使用している。

その上で最終決戦に、残りの票を投じる。で、この票がvを上回る(NDの定義の方法により)。ND名当選させると、各候補者は最低v票もらうということです。

とすると、Nの持っている議決権数(TD×NS)をND名に配分した平均はvを超えるという式が出てきます。

v<TD×NS/ND

同様にN以外の株主も、TD-NDに各v票を割り振ってきます。で、最後の1名はv票に足りない。従って、TD-ND+1名の平均はvを下回る。

v>TD×(TS-NS)/(TD-ND+1)

これをつなぎ合わせると、
TD×(TS-NS)/(TD-ND+1)<v<TD×NS/ND

これをときます。
TD×(TS-NS)/(TD-ND+1)<v<TD×NS/ND
(TS-NS)/(TD-ND+1)<NS/ND
ND(TS-NS)<NS(TD-ND+1)
ND×TS<NS×(TD+1)
ND<NS×(TD+1)÷TS

ですね。

別解

もう少しステップを省く立証だと以下のような感じでしょうか。
Nの候補者NDは最低、各v票取得可能。従って、v<TD×NS/ND。
Nとそれ以外の全体でTD+1名の選任は不能(平均がvを下回る)。従ってv>TS×TD/(TD+1)
これを合わせると、
TS×TD/(TD+1)<TD×NS/ND
TS×(TD+1)<NS/ND
ND<NS×(TD+1)÷TS

TD+1名が問題になることがすっとわかればこちらで足りるはずです。最後の議席を争うので、最大1名分(v)の死票が生じるためとかいうんでしょうか。個人的にはすっとはわかりにくいなと思ったため、残り1名で切ってみた訳ですね。

実際上の有益性

この式、じつは、累積投票制度を採用している会社についても、こんな風に実務上使われるのはまれではないかと思います。既にある株式数で、何名選任できるか等と悠長に考えるはずはないからです。

むしろ、具体的にND名選任したいのだが、これを確実に行うためには何票必要かと考えることの方が多いように思います。

その場合は、式を変形させて、

NS>ND×TS×(TD+1)

として、最小限必要な得票数を計算します。私の使っていた教科書ではこの形の式がのっていました。

とはいっても、票読みは、対立する株主がいる場合に問題となり、一番先鋭化するのは、敵対的買収です。敵対的買収は、普通上場会社で行われるところ、累積投票制度は上場会社で採用されていないので、一般的には問題にならない話です。そのため、式の内容を説明されることもあまりないのだと思います。

理論上は、ジョイントベンチャーの組成などで活用されてもいいはずですが、まぁ、他の手段が色々ありますし、実際に累積投票制度となっている定款はあまり見たことがありません。

というわけで、これも実際上の活用からすると、数遊びという感じですね。
理解して損はないという程度でしょうか。

2008-06-28

編集者な日々(5) 変更履歴とつきあう

変更履歴を使用しないというのが米国の法律事務所の主流です。

まぁ、動きに癖があり、バグかと思われるものも多いほか、ワードに保存されるメタデータ(文字以外の修飾情報)が多くなるのを割けるというのが主な趣旨のようです。また、理屈上、履歴を入れられたデータは相手が最後にさわったものなので、履歴なしでどこを変えられているかわからない以上、それをベースに作業すべきではないというのもあります。

そうはいうものの、変更履歴を使用する場合もあるのが現実。しかも、相手のコメントをそのドラフトで採用するようクライアントに求められることもしばしば。

そのときに人間の直感で考えるのは、コメントを次々表示してくれて、採用不採用のみをちゃっちゃと決めたいと言うこと。それを実現するためのショートカットがあると便利ですよね。

というわけでこのエントリ。


変更履歴関係は、デフォルトでは、ワードのショートカットキーは設定されておらず、マウスでの作業がメインとなりますがこれは相当面倒。

そこで、以下のようなショートカットキーをマクロで一括設定して使用することにしています。マクロを使用せずに一個ずつショートカットを設定する場合は、メニューの、ツール→ユーザ設定→オプション→キーボードから、コマンド設定の分類でツールを選び、command =のあとにある単語を探してもらうと個別に設定できます。たとえばNextChangeOrCommentとかですね。

これを設定すると、履歴をalt+上下で探し、それについて採用不採用をalt+左右で決定していくことができ、作業が結構早くなったりします。

よろしければ、お試しください。

'次の変更履歴 alt 下
CustomizationContext = NormalTemplate
KeyBindings.Add KeyCode:=BuildKeyCode(40, wdKeyAlt), KeyCategory:= _
wdKeyCategoryCommand, Command:="NextChangeOrComment"

'前の変更履歴 alt 上
CustomizationContext = NormalTemplate
KeyBindings.Add KeyCode:=BuildKeyCode(38, wdKeyAlt), KeyCategory:= _
wdKeyCategoryCommand, Command:="PreviousChangeOrComment"

'履歴を承諾 alt <-
CustomizationContext = NormalTemplate
KeyBindings.Add KeyCode:=BuildKeyCode(39, wdKeyAlt), KeyCategory:= _
wdKeyCategoryCommand, Command:="AcceptChangesSelected"

'履歴を元に戻す alt ->
CustomizationContext = NormalTemplate
KeyBindings.Add KeyCode:=BuildKeyCode(37, wdKeyAlt), KeyCategory:= _
wdKeyCategoryCommand, Command:="RejectChangesSelected"