* OOoのJavaScriptマクロにおけるRhino Shellの定義済みプロパティについて [#cfe081cb]
 |RIGHT:|LEFT:|c
 |~ページ|[[OpenOffice.org FAQの登録ページ]]|
 |~投稿者|new_OOo3|
 |~分類|#listbox3(Q&A,faq03,class)|
 |~優先順位|#listbox3(普通,faq03,priority)|
 |~状態|#listbox3(完了,faq03,state)|
 |~カテゴリー|#listbox3(その他,faq03,category)|
 |~投稿日|2010-06-23 22:55:24 (水)|
 |~OS|WindowsXP SP3|
 |~依存するページ|https://developer.mozilla.org/ja/Rhino_Shell|
 |~依存するページ|[[Rhino_Shell>https://developer.mozilla.org/ja/Rhino_Shell]]|
 |~バージョン|#listbox3(3.2.1,faq03,version)|
 
 ** メッセージ [#a12c1023]
 |LEFT:|c
 |回答ページでは行末に「~」を付加する必要はありません|
 お世話になります。
 
 OpenOffice.org マクロ JavaScriptにおいてRhino Shellの定義済みプロパティreadUrlでのURL Sourceの読み込みが出来ません。
 
 具体的には下記マクロ
 
  ***** Macro ********
  //readUrl()
  importClass(Packages.javax.swing.JOptionPane);
  //* 単に, 読み込んで項目表示するだけ */
  urls = "http://openoffice3.web.fc2.com/";
  str = readUrl(urls)
  JOptionPane.showMessageDialog(null, str);
  *********************
 
 をRhino_temp.jsというfileとして保存し、以下のbatプログラムをつかてRhino Debugger1.72にて実行すると、URLのSourceを読み込めます。
 
  ***** bat file 内容 *******
  cd \
  set CLASSPATH=Down_load/Rhino/rhino1_7R2/js.jar
  java org.mozilla.javascript.tools.debugger.Main -f %1
  ****************************
 
 しかし、同じ内容をOpenOffice.orgのJavaScriptマクロのRhino Debuggerを用いて実行すると以下のError Messageが表示されます。
 
  ******** Error Message **********
  vnd.sun.star.expand:${$BRAND_BASE_DIR/program/bootstrap.ini::userInstallation}/user/Script/Library4/readurl.js/ucb/,
  line5:"readUrl"is not defined
  *********************************
 
 つきましてはOpenOffice.orgマクロにおいて、readUrl()を利用する方法をご教示頂けます様お願いします。
 
 ----
 ***Shell 用関数は使えない [#n0e7bb64]
 >はにゃ? (2010-06-24 02:17:54 (木))~
 ~
 依存するページは shell で使える関数の説明です。デバッガ上では定義されません。~
 readUrl メソッドは org.mozilla.javascript.tools.shell.Global クラスの public static メンバーなので次のように。~
  importClass(Packages.javax.swing.JOptionPane);
  importClass(Packages.org.mozilla.javascript.tools.shell.Global);
  
  s = new Array;
  s[0] = "http://openoffice3.web.fc2.com/";
  try {
   str = Global.readUrl(null, null, s, null);
   JOptionPane.showMessageDialog(null, str.substr(0, 100));
  } catch(e) {
   JOptionPane.showMessageDialog(null, e.toString());
  }
 
 //
 ***ご教示ありがとうございました。 [#l50e97fc]
 >new_OOo3 (2010-06-24 16:37:28 (木))~
 ~
 はにゃ? 様~
 ~
 お世話になります。~
 ご教示ありがとうございました。~
 上手くURL Sourceが取り込めました。~
 
 //
 #article