Macでビジネスするなら、Microsoft Office 2008 for Mac は必需品。特にワードとエクセル形式の文書ファイルは、企業によっては読み書きできることがあたりまえのように思われていることが多いようです。

ファイルの互換性をそれほど重視しないのであればOpenOffice.org、あるいはiWork’08に含まれるPagesやNumbersなども使えなくはないですが、取引先に失礼のないようデータをやり取りしたいのであればやめておいた方がいいでしょう。

Mac版 Office で作成した文書ファイルでも安心は出来ません。データの作成方法によっては、Windows版Officeで読み込んだときにレイアウトが崩れてしまう場合があるからです。

今回は、文書ファイルの互換性を高めるために、Mac版 Office のフォント設定などを調整する方法や注意点を紹介します。

MS P 明朝/ゴシックを利用する

MacとWindows間の文書互換性問題の原因のほとんどは、“フォント指定の違い”によるものです。

フォントというものは、種類によって同じサイズでも高さや幅が異なります。特にMac OS Xにインストールされている“ヒラギノ”フォントは、Windowsの標準フォントである“MS 明朝/ゴシック”との違いが大きいようです。

ヒラギノフォントが割り当てられたワード/エクセル文書をWindows環境で開く場合、ヒラギノフォントが存在しないと、設定がMS 明朝/ゴシックに置き換えられてしまいます。これにより文字の大きさが変化し、文書の文字数や位置が変わってしまうため、レイアウトが崩れてしまうのです。
//imgcp.aacdn.jp/img-a/800/auto/aa/gm/article/2/4/6/2/hiragino_to_msgosic.jpg
MS P ゴシックとヒラギノは文字の幅が大きく異なるため、置換してしまうとレイアウト崩れが起きる

こういった現象が起きないようにするには、Mac環境でも「MS P 明朝/ゴシック」を使用すればよいだけ。Mac版Microsoft Office 2008 をインストールすれば、MS 明朝、MS ゴシック、MS P 明朝、MS P ゴシック、メイリオが、ホーム > ライブラリ > Fonts に自動的にインストールされます。
//imgcp.aacdn.jp/img-a/800/auto/aa/gm/article/2/4/6/2/inst_ms_font.jpg
/ライブラリ/Fonts/ にインストールされたMSフォントは、/アプリケーション/Font Bookで確認できる

スタイルに設定されたフォントをAppleScriptで一度に変更する

文書中のフォントをすべて変更するには、「編集 - すべて選択」して「書式 - フォント」により変更すればいいだけですが、段落にスタイルが割り当てられている場合、1つ1つスタイルの設定ダイアログを開いて変更していかなければなりません。
//imgcp.aacdn.jp/img-a/800/auto/aa/gm/article/2/4/6/2/style_setting.jpg
スタイルに設定されているものは、書式 - スタイル を開いて「変更…」で1つ1つフォントを変更してやる必要がある
手作業でやるにはあまりにも手間がかかるため、AppleScriptを使って一気に変更しましょう。ワード文書の場合、以下のスクリプトを「スクリプトエディタ」に入力して実行してやれば、開いている文書に含まれるスタイルのうち、ヒラギノフォントの設定されている特定のスタイルだけを「MS P ゴシック」に変更してくます。
//imgcp.aacdn.jp/img-a/800/auto/aa/gm/article/2/4/6/2/font_set_script.jpg
tell application "Microsoft Word"
activate
set adoc to document 1
set ci to 1
repeat
try
set ef to east asian name of font object of Word style ci of adoc
if "ヒラギノ" is in ef then
set name of font object of Word style ci of adoc to "MS Pゴシック"
set east asian name of font object of Word style ci of adoc to "MS Pゴシック"
end if
on error
exit repeat
end try
set ci to ci + 1
end repeat
end tell

(※上記のスクリプトを実行後はWordの反応がすごく遅くなるため、Wordを再起動しよう)