メインコンテンツに移動

ライブラリーをパスワードロックした場合のエラーと文字化けについて

返信 (2) [最終投稿]
macrotester
オフライン
Last seen: 17週 3日 前
タイトル: ★★
登録日: 25 12月 2011
投稿: 12

Calcのライブラリーをパスワードロックした場合のエラーと文字化けについてお尋ねします

≪環境設定≫

1.Calcの新規odsファイルを作り、test1.odsという名前にします
2.ファイル内のSheet1を リスト名 という名前に変更します
2.セル座標C2に5をいれます
3.Standardではロックできない為、別途ライブラリーを作ります
マクロ → マクロの管理 → LibreofficeBasic → 管理 → ライブラリー
 場所:test1.ods → 新規作成 → Library1 で新規にライブラリーを作ります
4.Library1内に以下のマクロ(例)を登録します

Sub Main

If  ThisComponent.Sheets.getByName("リスト名").getCellRangeByName("C2").value <  3 Then
MsgBox "データが3未満です、処理を終了します",0+32,"処理を終了します"
  Exit Sub
Else
  MsgBox "データが3より大きいです",0+32,"処理を継続します"
End If

End Sub

【以下のような症状が出ます】
5.パスワードでライブラリーをロックする前には正常
6.パスワードでロックして保存後、ファイルを一度閉じた後、再度開いてマクロを実行すると
BASICランタイムエラー、例外が発生しました
Type:com.sun.star.container.NoSuchElementExceptionMessage。
と表示されます

7.次にリスト名というシートを listmei に変更し、モジュールもgetByName("リスト名")をgetByName("listmei")に変更してパスワードロックして保存、再度開くと、エラーにはなりませんがmsgboxの日本語がすべて?で表示されてしまいます

これはOpenofficeの過去(2009年頃)の掲示版で示されているのと同じバグなのでしょうか?
どうも日本語がすべて化けるようで、パスワードロックが必要なモジュールを使う場合に困っています。
以下の対策以外で対応できることがあれば教えていただけると助かります。
Openoffice掲示板では
1.パスワードロックしない
2.日本語を文字コードに変える
3.日本語をロックしないライブラリに置いて呼び出す
とありました。
またバグであれば対応の予定はあるのでしょうか?
OS:Windows7pro
使用バージョン:LibreOffice 3.4.4  OOO340m1 (Build:402)

tani
オフライン
Last seen: 7週 3日 前
タイトル: ★★★
登録日: 7 12月 2010
投稿: 26
多分OOoとおんなじ問題だと思います。私が思いつくのは、

多分OOoとおんなじ問題だと思います。

私が思いつくのは、URLエンコードくらいでしょうか。

データが3未満です、処理を終了します」はURLエンコードすると「%E3%83%87%E3%83%BC%E3%82%BF%E3%81%8C3

%E6%9C%AA%E6%BA%80%E3%81%A7%E3%81%99

%E3%80%81%E5%87%A6%E7%90%86%E3%82%92

%E7%B5%82%E4%BA%86%E3%81%97%E3%81%BE

%E3%81%99」になります。(見にくかったので改行いれてます)

これをデコードすれば良いのではないかな、と思います。


ThisComponent.getSheets.getByIndex(0).getCellRangeByName("A1").setString(ConvertToURL("データが3未満です、処理を終了します"))

MsgBox(ConvertFromURL("%E3%83%87%E3%83%BC%E3%82%BF%E3%81%8C3%E6%9C%AA%E6%BA%80%E3%81%A7%E3%81%99%E3%80%81" & _

"%E5%87%A6%E7%90%86%E3%82%92%E7%B5%82%E4%BA%86%E3%81%97%E3%81%BE%E3%81%99"))

macrotester
オフライン
Last seen: 17週 3日 前
タイトル: ★★
登録日: 25 12月 2011
投稿: 12
ありがとうございます、動作しました

早速の回答ありがとうございました、Oooと同じなんですね

ある意味、バグと思うのですが、いつごろ改善される予定なのでしょうかね? 早く改善していただきたいものです。

URLエンコード、動かしてみました、UTF-8でエンコードするのですね、パスワードロックしても動作しました。

ありがとうございました、これで一歩前進することができます。

助かりました

今後ともよろしくおねがいいたします

ほかに何か別の手段を実行してある方がいらっしゃいましたら、是非教えてください。

今後の参考にさせていただければうれしいです。

よろしくおねがいします

Drupal theme by Adaptivethemes - Design by Kodamera