外部ファイル参照のパスがURLエンコードされてしまいます

スプレッドシート (Calc) について
返信する
aizuwakamatsucity
記事: 18
登録日時: 10月 1, 2008, 5:20 pm

外部ファイル参照のパスがURLエンコードされてしまいます

投稿記事 by aizuwakamatsucity »

外部シートのセルを参照する際に、

='file://【ファイルのパス】/【ファイル名】.ods'#$【シート名】.【セル座標】

という書式を入力すると、日本語がURLエンコードされてしまいます。
例えば、以下の様な式を入力下場合、
='file:///d:/リンクテストフォルダ/リンクテストシート.ods'#$Sheet1.a1
エンターで内容を確定した時点で、以下のように変換されてしまいます。
='file:///d:/%E3%83%AA%E3%83%B3%E3%82%AF%E3%83%86%E3%82%B9%E3%83%88%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80/%E3%83%AA%E3%83%B3%E3%82%AF%E3%83%86%E3%82%B9%E3%83%88%E3%82%B7%E3%83%BC%E3%83%88.ods'#$Sheet1.A1

式自体は有効で、参照先の内容が正しく表示されるようです。
また、無効なパスを適当に渡してもURLには変換されず、正しいパスで確定した時点で初めて発生する様です。

現象が発生しているのはOpenOffice.org3.1.0です。
Portable版の3.1.0でも同様の問題が確認できました。
同じくPortable版の3.0では発生しないようです。

参照先を変更することが難しくなるため、多数のセルをフィルで参照している様なケースでは、相当な問題となるケースも予想されます。
有効な解決方法や代替手段は無いものでしょうか。
aizuwakamatsucity
記事: 18
登録日時: 10月 1, 2008, 5:20 pm

Re: 外部ファイル参照のパスがURLエンコードされてしまいます

投稿記事 by aizuwakamatsucity »

前述しました、ファイルパス表記がURLエンコードされてしまう問題ですが、VLOOKUPなどの一般的な関数内で使用した場合にも発生する模様です。

また、参照先シートの階層が深い場合、関数内に利用出来る文字数の制限を超えてしまい、シート内のセルが軒並みエラーになってしまうケースもあるようです。
Nomoto
記事: 1
登録日時: 7月 30, 2009, 11:38 am

Re: 外部ファイル参照のパスがURLエンコードされてしまいます

投稿記事 by Nomoto »

OpenOffice3.1にバージョンをあげるか、試している最中ですが
この問題が、なかなかやっかいで、今のところバージョンをあげるのを見送っています。

OpenOffice3.0で作成したファイル(外部参照入り)を、OpenOffice3.1で開くと
一見正しくリンク先の値も取得しています。

が、そのまま上書き保存をした場合、次に開いたとき
URLエンコードで文字数制限に引っかかっているリンクは、全てエラーになってしまいます。

かなりの重度な障害ではないかと思います。
Q&Aにもあげて情報を集めてみるのはいかがでしょうか。
aizuwakamatsucity
記事: 18
登録日時: 10月 1, 2008, 5:20 pm

Re: 外部ファイル参照のパスがURLエンコードされてしまいます

投稿記事 by aizuwakamatsucity »

Nomoto様、ご回答ありがとうございます。

検討の結果、文字化けの発生しない旧バージョンのポータブル版を配布して、とりあえずの対応とすることにりました。
また、Issuesへの報告も行いたいと考えております。

ありがとうございました。
返信する

“Calc”に戻る