「Web出版サイト」ベータ公開

Q&A集[?]

当サイトでのご質問の受付は終了しました

すべてのコンテンツを読み込み専用としたため、回答欄からも投稿できません

Apache OpenOffice/LibreOfficeのご質問はそれぞれのフォーラムへご投稿ください

質問コーナー

サイト内検索

分類メニュー

関連サイト


本日:1
昨日:0
総数:2095
現在:4


参照先がない場合の検知方法

ページOpenOffice.org FAQの登録ページ
投稿者匿名
分類
edit/refer
優先順位
edit/refer
状態
edit/refer
カテゴリー
edit/refer
投稿日2009-10-30 14:24:22 (金)
OSWindows XP
依存するページ
バージョン
edit/refer

メッセージ

回答ページでは行末に「~」を付加する必要はありません

別ファイルのセルを参照している場合にリンクを更新する旨のメッセージボックスが出ます。

1.PNG

この際に『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です。

お名前:
題名:


添付ファイル: file1.PNG 818件 [詳細]