2011年8月24日
Wordのマクロで実行時エラー5824
職場で使っているMS-Word用のマクロでエラーが発生。
このエラーについての日本語情報がなかったため共有。
マクロは、Wordの文章中に所定のルールに沿った単語を検索し、ハイパーリンクに置換する、と言う単純なもの。
先日までは問題なく使えていた。
それがある日、Word2007で「実行時エラー5824」。
いろいろググって以下のページを発見。
「EggHeadCafe -
.NET problems? Monitor and troubleshoot your live web apps with New Relic」
www.eggheadcafe.com
http://www.eggheadcafe.com/software/aspnet/31352717/runtime-error-5824--insuf...
Selection.Hyperlinks.Add Anchor:=Selection.Range, Address:=FileString, TextToDisplay:=FileString
ハイパーリンクのアドレスと表示テキストに、FileStringっていう変数を与えてるんですが、ここがエラーの原因。
Selection.Hyperlinks.Add Anchor:=Selection.Range, Address:="" & FileString & "", TextToDisplay:="" & FileString & ""
以上のようにダブルクォーテーションとアンドで括ってやらないといけないらしい。
MS-Word2003じゃあ前者の記述でも問題ないんですが、2007で仕様が変わったんでしょうかね?