参照先がない場合の検知方法 †
ページ | OpenOffice.org FAQの登録ページ |
---|---|
投稿者 | 匿名 |
分類 | |
優先順位 | |
状態 | |
カテゴリー | |
投稿日 | 2009-10-30 14:24:22 (金) |
OS | Windows XP |
依存するページ | |
バージョン |
メッセージ †
回答ページでは行末に「~」を付加する必要はありません |
別ファイルのセルを参照している場合にリンクを更新する旨のメッセージボックスが出ます。
この際に『OK』を押してリンク先の参照ファイルが存在しなかった場合にExcelではリンク先が存在しない旨のメッセージボックスが表示されますが、Calcでは表示されずにセルの表示が#REF!になるだけです。(数式自体はそのままで#REF!などのエラーは含まれません。)
重要な資料ですので見落としが一番怖いので検索などで見つける方法があれば教えていただきたいです。
よろしくお願いします。
IssueTrackerの要望 †
M.Kamataki (2009-11-01 22:12:14 (日))
OpenOffice.orgの不具合・要望データベースであるIssueTrackerを調べてみました。たぶん以下のIssueがご質問の趣旨に近いものだと思います。
Add a way to correct missing external references
http://ja.openoffice.org/issues/show_bug.cgi?id=13734
要約は「失われた外部参照を修復する方法の追加」ということかと。
このIssueのコメントにある「the Menu Entry Links under Edit」とは、Calcのメニュー「編集」−「リンク」にある機能です。一応、リンクされているファイルの一覧が表示され、リンク切れのものがあれば修正することは可能です。ただ、コメントされたfstさんも書かれているように、Excelの同様の機能とは同じではありません。
直接セルを探す方法というのは、Excelでは以下のページで紹介されている方法があるようですが、Calcでは同じ機能がありませんね。
エラーセルの検索−ジャンプ
http://www.relief.jp/itnote/archives/001117.php
アイデア募集 †
M.Kamataki (2009-11-01 22:13:36 (日))
ということで、Calcでのアイデアを募集します。
無題 †
ike@九州 (2009-11-02 11:51:29 (月))
管理する上で好ましいのは、
リンク用の別シートを作成し外部リンクのセルを作成しておきます。
実シートのセルはリンク用のシートのセルを参照する形式だとエラー等把握しやすいですね。
既存ドキュメントの変更が苦しい場合は、マクロによる検索でしか探す事が出来ませんでした。Sub search_error On Error Goto ErrorHandler oDoc = ThisComponent oController = oDoc.getCurrentController() For i = 0 to oDoc.getSheets.count - 1 oSheet = oDoc.Sheets(i) oSearchDesc = oSheet.createSearchDescriptor() oSearchDesc.SearchString = "=" oFound = oSheet.findFirst(oSearchDesc) Do While NOT IsNull(oFound) If Instr(oFound.string,"#REF!") + Instr(oFound.string,"#NAME?")_ + Instr(oFound.string,"#N/A") + Instr(oFound.string,"#VALUE") _ + Instr(oFound.string,"#DIV/0!") > 0 then beep oController.Select(oFound) print oFound.Formula End if bNext = True oFound = oSheet.findNext(oFound, oSearchDesc) Loop Next i beep msgbox("終了しました") ErrorHandler: End Sub
動作説明
"'file:///""=" が含まれるセルを検索し、セルの表示文字が
"#REF!"、"#NAME?"、"#N/A"、"#VALUE"、"#DIV/0"を含む場合にセルを選択し
メッセージを表示します。
"OK" or Enterキーで次検索
"キャンセル"、で選択状態にて終了
最後まで検索すると終了メッセージを表示します。
#マイマクロにコピー後、ボタン又はメニューに割り当て使用になりますね
# "'file:///" から "=" に変更しました
検証が遅くなりました †
M.Kamataki (2009-11-07 17:43:59 (土))
ike@九州さん、いつもありがとうございます。
遅ればせながら検証してみると、うまく検索できません。oSearchDesc.SearchString = "'file:///"を
oSearchDesc.SearchString = "'file://"とするとうまく検索できました。
ありがとうございます †
匿名 (2009-11-07 20:22:48 (土))
マクロしか方法がないのでしたら検討させていただきます。
Re:検証 †
ike@九州 (2009-11-08 09:14:59 (日))
失礼しました。Vistaでは無問題でしたので…
オプションの設定 or OSにて "'file〜 以下の部分が違うのかもしれませんね
いっその事 "=" に変更すると全ての数式結果のエラーを把握できるかも…
# "=" に変更してみました。
全ての数式 †
M.Kamataki (2009-11-08 18:08:09 (日))
そうですね。"="にすれば、全ての数式が対象になりますね。グッドアイデアだと思います。
いったん完了にしますね。もし、別のアイデアがあれば、追記OKです。