MS-Word でペーストする時。

久しぶりに MS-Word 関係。

Website や他の文書から Word にペーストする時、書式情報なしで貼付けたいことがある。
いちいちメニューから[編集]-[形式を選択してペースト]としてダイアログを出し、そこで、「ペーストする形式」を「テキスト」にするのが面倒。

続きを読む "MS-Word でペーストする時。"

| | コメント (0) | トラックバック (0)

MS-Word: 段落を空行で区切っている文書から空行を取り除く。

段落を区切るために空行を入れることがよくあるが、そのようにして作られた文書の空行を取り除く方法。

段落の中に改行が入っているような場合は、その改行を取り除く処理も必要だが、今回の場合、段落の中には改行がない。つまり、各段落は二つの連続した改行で区切られているという状況。

今使っているのは、MS-Word 2008 for Mac だ。他のバージョンでも当てはまるかもしれないが、試していない。

さて、メニューから「編集」「置換」とたどる。そこで出てくるダイアログに、元々のファイルの連続した二つの改行をカコピーして、ダイアログの「検索する文字列」のところにペーストしてみる。^p が段落記号だと分かる。そして、「置換後の文字列」に ^p を入力して、「次を検索」のボタンを押してみる。すると、MS-Word さんは、「^p は[置換後の文字列]に指定できない特殊文字です」ってなことをおっしゃる。

いろいろやってみたが、「検索する文字列」に \n\n を指定して、「置換後の文字列」に ^p を指定すると、希望の通りの動きをした。

なんだかな?

| | コメント (0) | トラックバック (0)

MS-Word SaveAs って同名のファイルがある上書き

同名のファイルがあっても警告なしに上書き。うーむ。

| | コメント (0) | トラックバック (0)

[Trees/Word] 続 MS-Word で均整のとれた樹形図を書く方法

[Trees/Word] 続 MS-Word で均整のとれた樹形図を書く方法

リンク: [Trees/Word] 続 MS-Word で均整のとれた樹形図を書く方法.

だいぶ前に考案した方法。統語構造の樹形図を簡単に書くために。

| | コメント (0) | トラックバック (0)

Honma's Computer Life Monthly Index

以前、http://member.nifty.ne.jp/honmat/diarylist.html で公開していた日記。

Honma's Computer Life Monthly Index.

この member.nifty.ne.jp というサーバーがなくなってから、ハードディクスの肥やしにしてあったのを、あらためて公開。リンクなど古いかも。できるだけ、自分の管理しているリンク先にはちゃんとリンクするようにしてみてはある。リンク切れやらおかしなところがあれば、お知らせいただけるとありがたい。

情報は、古いが自分にとってはいろいろ思い出があるし、役に立ちそうなこともある。

| | コメント (0) | トラックバック (0)

syntax tree drawer

統語構造の樹形図を描くためのMicrosoft Word 用のマクロを見つけた。

リンク: syntax tree drawer.

これも便利そうだ。

| | コメント (0) | トラックバック (0)

Making Syntactic Trees Quickly by Bruce Hayes

Bruce Hayes さんのページに統語構造用の樹形図を簡単に作る方法が紹介してあった。これは便利そう。

Making Syntactic Trees Quickly.

| | コメント (0) | トラックバック (0)

言語学者のための MS-Word カスタマイズいろいろ(目次)

言語学者のための MS-Word カスタマイズのいろいろについて、自分の書いたものやら他の人が書いたものやらのリンク集

こういうのは集まっていた方が便利かなということで。

上山あゆみさんのサイト
「研究者のための Word 利用法」
「「再利用」のときの手間をなるべくすくなくするために」どうしたら良いかという視点でまとめられている。

Bruce Hayes さんのページ

Making Syntactic Trees Quickly.

ほんまたけるが書いたもの。
Doulos SIL Font Home.
SIL IPAというのは IPA(Internatyonal Phonetic Alphabet)のフォントとして有名。

Word 97 Annoyances での single closing quote というか apostrophe の怪.

2006-02-09 追加 Bruce Hayes さんの樹形図作成法の情報

| | コメント (0) | トラックバック (0)

Doulos SIL Font Home

Windows 上で発音記号を使う時は、SIL IPA 93 ってやつを使っていたのだが、もっと高性能のフォントが出来てるようだ。Doulos SIL Font という名前のフォントでこいつを Office2003 あたりと一緒に使うと幸せになれるような感じ。詳しくは、下のリンクをたどってみてほしい。

Doulos SIL Font Home

うーむ、勉強しなきゃ。

| | コメント (0) | トラックバック (0)

Word 97 Annoyances での single closing quote というか apostrophe の怪

クォーテーションマークの入力だが、いろいろ調べてみたりした結果、オートコレクトの「入力オートフォーマット」で、「’’を‘’に変更する」のチェックを外し、クォーテーションマークは、次のようなショットカットキーが元々設定してあるので、それを用いて入力するのがよろしかろうと思うようになった。

‘ シングルクォーテーション(左) Ctrl+`, `
’ シングルクォーテーション(右) Ctrl+', '
“ ダブルクォーテーション(左) Ctrl+`,"
” ダブルクォーテーション(右) Ctr;',"

確かに、下で書いたような手法(マクロを一つのキーに割り当てる)は、いろいろ便利に使えそうではあるのだが。

以上、2005/12/15加筆。

ISBN 1565923081Word97 Annoyances という本は、なかなか素敵な本だ。

そもそも、"annoyances" って、何?

Microsoft Word ってのは、いろんなユーザーのためにいろんな機能 をテンコ盛りにしてある。誰かのために便利な機能でも、別の人には、余計なお世話だったりする。"annoyances" ってのは、そのような「余計なお世話」などのこと。著者達のことばでいうと、"... Annoyances, like bugs, are in the eyes of the beholder: if you find something that doesn't work the way you think it should, it's a bug. If you find that you can fix or work around the bug, it's an annoyance. From our point of view, annoyances with fairly easy workarounds are simply galling." ってことだそうだ。


Single closing quote というか apotrophe は、annoyance のひとつ。

さてさて、そのような annoyances のひとつが、apostrophe まわりと言うか SmartQuotes まわりにある。英語では、SmartQuotes というらしいが、これは、single quote やら double quote やらの向きを "smart" に判断して、適切な向きに変えてくれるもの。 double quote の方は、問題ないのだが、single quote の方は、問題がある。いわゆる短縮形の場合等に用いられる single closing quote だ。例えば、Drag 'n' Drop とか '04 みたいな書き方をしようとすると面倒なことになる。以下、このような用法の single closing quote を apostrophe と呼ぶことにする。

で、どうするかだが、潔くこの機能を諦めて、このオプションを外してしまうのもありかもしれないが、それなりに便利な機能だけに、なんとかしたいものだと考えるのもありだろう。

Word97 Annoyancesの著者たちが、やったこと

そこで、彼等は、TypeApostrophe という下のようなマクロList 1を書き、そのマクロをキーボードの apostrophe のキーに割り当てるという解決策を考えついた。

List 1

Public Sub TypeApostrophe()
    Selection.TypeText Chr$(146)
End Sub

このマクロを apostrophe のキーにアサインするのだが、普通の方法ではできない。普通の方法とは、メニューから[ツール]-[ユーザー設定]として出てくるダイログの中の、[キーボード]ボタンをクリックして、そこで現れるダイアログで設定する方法のこと。ここのダイアログでは、一般に単独のキーにマクロなどをアサインすることができない。でも、マクロを使えば、単独のキーにアサインできる。著者たちは、下のようなマクロList 2を一回だけ走らせることで、 apostrophe キーに TypeAostrophe マクロをアサインしている(ようだ)。

List 2

Private Sub temp()
CustomizationContext = NormalTemplate
KeyBindings.Add KeyCategory:=wdKeyCategoryMacro, _
    Command:="TypeApostrophe", _
    KeyCode:=BuildKeyCode(Arg1:=wdKeySingleQuote)
End Sub

(ちょっと、ご注意。著者たちによると List 2を実行すると妙なことが起る場合があるとのこと。ツールバーに何かユーザー設定してあるとそれが見かけ上無効になり、標準の normal.dot のツールバーで置きかわったように見えてしまうらしい。一旦、(必要があればファイルを保存した上で)Word を終了して、再び Word を起動し直せば、もとに戻るとのことなので、パニックる必要はない(らしい)。)

バージョンの違いのせいか英語版と日本語版の違いのせいか...

実際に上の List 1 や List 2 を試してみるとうまくいかないようなので、いろいろやってみた結果、そこそこのものができたと思う。

(うまく行かない理由が分かった。バージョンの違いというか Unicode の対応といういか。Unicode では、single closing quote は、&H2019 ってことらしい。だから、上の List1 の Chr$(146) を ChrW(&H2019) とすればよい。下で、InsertSymbol でうまく行っているのは、unicode:=False としているからのようだ。ちなみにChr$()は、日本語版にはないようだ。使ってもエラーにはならない。ChrW() は、unicode 対応? 2006-01-08 加筆。)

まず、Word 97 Annoyances では、次のように書いてあるが、これは、手元の Word 2002 では、解決策がある。

"There is no way we could find --- either manually or in a macro --- to reset a single key assignment." (p186)

Findkey プロパティと clear メソッドを使えばよい。

Public Sub ClearApostrophe()
  CustomizationContext = ActiveDocument
  FindKey(BuildKeyCode(Arg1:=wdKeySingleQuote)).Clear
End Sub

次は wdKeySingleQuote だが、これは、英語版の Word では、確かに single quote というか、apostrophe (日本語のキーボードの場合は、たいてい、数字キーの7のところにあるやつ)を表しているようなのだが、なぜか日本語環境だと、"^" のことを表わすらしい。

次は、TypeText メソッドについて。List 1 で使われている TypeText メッソドを使うとなぜかうまくいかない。なぜだろう?で、InsertSymbol メッソドを使い、下のように、フォント名を指定しないで InsertSymbol すると、なぜか日本語のフォントになってしまう。

Selection.InsertSymbol CharacterNumber:=146, Unicode:=False

だからといって、下のように、フォント名を指定すると、汎用性が犠牲になる。つまり、その文書でどのフォントを用いていても、必ず指定されたフォントの apostrophe が挿入されることになる。

Selection.InsertSymbol CharacterNumber:=146, Font:="Century", Unicode:=False

これは、日本語版の Word では、英文用のフォント(NameAscii (NameOther も?))と日本語用のフォント(NameFarEast)それぞれについて、別々にデフォルトのフォントを指定できることに問題のもとがある。

だから、下のように、一旦英文用のフォント名を獲得しておいてから、その値を InsertSymbol する必要がある。

fName = Selection.Font.NameAscii
Selection.InsertSymbol CharacterNumber:=146, Font:=fName, Unicode:=False

Normal.dot になんでもかんでも入れちゃうってのもね...

Normal.dot は、あまり「汚し」たくないので、特殊なことをするためには、適当なテンプレートをこしらえて、そこの中で、keybinding をしたい。だから、適当なテンプレートに Document オブジェクトの new イベントを利用して、下のようなマクロ(イベントプルシージャ)を書く。(イベントプロシージャをどこに書いたらよいのかについては、各自調べてほしい。)

Private Sub Document_New()
CustomizationContext = ActiveDocument
KeyBindings.Add KeyCategory:=wdKeyCategoryMacro, _
    Command:="TypeApostrophe", _
    KeyCode:=BuildKeyCode(Arg1:=wdKeySingleQuote)
End Sub

このようにすれば、このテンプレートを用いて、新しく文書を作成するたびに、このマクロが実行され、その文書の KeyBinding だけ変更するようにできる。ついでに、Document_Open も設定すれば、このテンプレートを用いて作成した文書を再度開く時にもキーバインディングを変えられる。

以上
この記事の改訂情報
2006-01-08 加筆 Unicode と Chr$(), Chr(), ChrW() について
2006-01-08 加筆 KeyBinding を設定する際、Document_Open も用いると良い
2005-12-15 加筆 Single Quote を入力するショートカットについて
2004-06-24 公開開始

| | コメント (0) | トラックバック (0)