マクロの処理で、ファイルを表示させずに開く方法があります。ファイル内の情報を取得するために裏側で処理をするときに適しています。例えば、Wordで動く翻訳チェックソフト「色deチェック」
では、対訳表を作成するときにこの方法を使って原文と訳文ファイルを開き、段落ごとの情報を取得しているのです。
この場合、以下のような書き方で、既存のファイルを新規ファイルとして開きます
。そうすれば、元のファイルを修正した後に誤って上書き保存してしまうリスクが減ります。※●●はファイルのパスです。
Set myDoc = Documents.Add (Template:=●●, Visible:=False)
ところが、色deチェックを用いて、インターネットからダウンロードしたファイルから対訳表を作成しようと思ったところエラーが発生しました。これは、Word 2010以降で起こりえます。Wordが危険だと判断したファイルは、「保護されたビュー」という編集ができない状態で開かれるからです。以下の画像のとおり、リボンの下に通知が表示され、さらにこの状態ではリボンやクイックアクセスツールバーのボタンを操作できません(グレーアウトされています)。
この状態では、マクロでこのファイルに対して編集をしようとするとエラーになってしまいます。そこで、「保護されたビュー」にならないように別の方法でファイルを開きます。以下のように、このファイル自体を「読取り専用」で開くのです。この場合も元のファイルを誤って編集したまま上書き保存してしまうという誤動作を回避できます。
Set myDoc = Documents.Open (FileName:=●●, ReadOnly:=True, Visible:=False)
2016年3月1日現在公開されている色deチェックでは、インターネットからダウンロードしたファイルから対訳表を作成しようとするとエラーが発生してしまいます。今後の色deチェックのバージョンアップで、このエラー処理を対応させます。
▼関連記事
【Wordマクロ】既存の文書から新規作成する
【Wordマクロ】デフォルトフォルダ内の既存文書から新規文書作成
【Wordマクロ】現在の文書から新規文書を作成する
Wordで動く翻訳チェックソフト「色deチェック」