MS-WORD一太郎化計画?
またもやというか,今回は地質とはまったく関係なし.とはいえ,研究教育に必須のツールの話なので.
もう覚えていないほど昔の話ですが,私はワープロソフトは一太郎ユーザでした.その後 Office のコンポーネントとして MS-WORD が出てきて,『日英二刀流』があまりにあっさりと実現されていたので,即乗り換えて今に至ります.
で...MS-WORD で唯一の不満点が,一太郎では当たり前の『編集ファイルを開くと前回の編集位置で開かれる』機能がないことでしょう.特に,長い文書ファイルを編集している時などは,いちいち最初からスクロールして前回編集位置まで移動しなくてはいけないので,いらいらします.
これを解決するのが,言うまでもありませんが,マクロです.以下の三つのマクロを normal.dot(m)に保存し,標準の上書き保存ボタンを3番目のマクロを割り当てたボタンで置き換えればすべてOKです.
注意)以下マクロソース--------
Sub AutoOpen()
Dim bmName$
bmName$ = "autoLastEditPoint"
If WordBasic.ExistingBookmark(bmName$) Then
WordBasic.WW7_EditGoTo bmName$
End If
End Sub
'---------------
Sub AutoClose()
Dim bmName$
If WordBasic.IsDocumentDirty() = -1 Then
bmName$ = "autoLastEditPoint"
WordBasic.EditBookmark Name:=bmName$, Add:=1
End If
End Sub
'---------------
Sub EditPointSave()
Dim bmName$
bmName$ = "autoLastEditPoint"
WordBasic.EditBookmark Name:=bmName$, Add:=1
WordBasic.FileSave
End Sub
--------------以上,マクロソース
で...何が問題かというと,Office2003(Word2003)までは,Office をアップグレードするたびにこのマクロが自動的に新しい normal.dot に移植されて動き続けていました.ところが,Office2007/2010 のインストーラはそういうことをしてくれません.それで私は,Office2007(以上)では,このマクロは動かなくなってしまったものと思い込んでしまい,勤務先のWord2007 では,あきらめていたのです.
ところが,先日,自宅の Office2003 を 2010 にアップグレードしたのですが,思い立ってダメもとで旧 DOT 内のマクロを新 dotm にそのままコピーしてみました.そしたら,なにごともなかったかのように動くんですね.これは嬉しい.Microsoft の下位互換性の高さには感謝します.
と・こ・ろ・が...! じゃあ勤務先の Word2007 でも同じ移植を...と思ったら,AutoOpen の仕様が 2007 と 2010 では微妙に違っているんですね.2007 では AutoOpen が動いた後,Word2007 の起動時既定動作に入ってしまう.つまり,せっかく前回編集ポイントに移動したと思ったら,次の瞬間文書の先頭に戻ってしまうんです.おいこら...(-_-;
しょうがないので,AutoOpen を削除し,同じ内容を別マクロ名に保存してそれを実行するボタンを配置してごまかしました.つまり,『手動起動の前回位置移動マクロ』.なんだかなぁ...
マクロに興味のない方,長い話でお目汚しすいません.
2013/01/16 13:52:14