2007年12月16日

[openoffice:10807] Re: スライドショーで

yamaさん。こんにちは、こんばんわ。

yamaさん wrote:
> こんにちは。
> エラー報告です。スイマセン。
>
> | で、VBScript 版 soplayer を作ってみました。
> |

> | http://openoffice-ja.org/wiki/VBScript/soplayer
>
> 1.3のファイル(sxi)を、2〜3回D&Dして試していたら、おかしくなりました。
> (バージョン2以降のスクリプトなのに、想定外の事をしてスイマセン。)

いえいえ、1.1.x 用でも 2.x 用でも、動作する「はず」なんですけど。

> なので、OpenOffice.org2系でプレゼンするのは、諦めます。
>
> プレゼンを作るのと、スライドショーは、1.3でやろうと思います。
> 詳細は、以下の如くです。
> --------------
> odpファイルをD&Dすると、1.3が起動しようとして、
> 「このファイルは、プレゼンテーションのファイルではありません」
> と出るようになりました。。

最後にインストールした OpenOffice.org が起動するようになっています。
yama さんの環境では、2.3.1 の後に 1.1.3 をインストールされたのかな。

VBScript 版 http://openoffice-ja.org/wiki/VBScript/soplayer では、
Set oServiceManager = CreateObject("com.sun.star.ServiceManager")
の部分で、OpenOffice.org をつかまえています。ちなみに、
CreateObject("Excel.Application") とやると、Excel をつかまえられます。

regedit で、その文字列 com.sun.star.ServiceManager を「キー」として
検索し、 + マークを展開すると、CLSID (クラスID) が見つかります。
CLSIDをクリックすると、「(標準)」エントリーのデータの部分に
{82154420-0FBF-11d4-8313-005004526AB4} という値があり、その文字列を
どうにかやってコピーします。

次に、82154420-0FBF-11d4-8313-005004526AB4 を「キー」として検索し、
同様に + マークを展開すると、LocalServer32 が見つかります。

それをクリックすると、「(標準)」エントリーのデータの部分に
C:\Program Files\OpenOffice.org 2.3\program\soffice.exe -nodefault -nologo
というような文字列が見つかります。

このようにして、CreateObject("com.sun.star.ServiceManager") が、
OpenOffice.org 2.3\program\soffice.exe を見つけ出しているようです。
もしかしたら、もっと違う方法かもしれません。。。

というわけで、2.3.1 と 1.1.3 の二つの異なるバージョンがインストール
されていると、後からインストールしたほうの値がそこに設定されているっ
ちゅうことになるわけでして、そっちが起動されるわけです。

ちなみに、コントロールパネルの「アプリケーションの追加と削除」で
OpenOffice.org のどちらかのバージョンを選択して「変更」を選択し、
[次へ]をクリックすると、三つの選択肢、変更、修復、削除が選べます。

二番目の「修復」の説明は「プログラムのインストールエラーを修復します。
このオプションは、見つからないまたは破損したファイル、ショートカット、
および、レジストリエントリを修復します。」と書かれています。

そこで、その「修復」を選択し、[次へ]ボタンをクリックすると、上記の
レジストリの設定値を、選択したバージョン側へ設定し直せます。


> 又、1.3のファイル(sxi)をD&Dしたら、
> エラー: com.sun.star.util.CloseVetoException: Controller disagree ...
> コード: 800A03E9
> ソース: [automation bridge]

すでに起動されている OpenOffice.org が 2.3.1 だとして、
別のファイルをsoplayer-0.2のVBScriptのアイコン上へD&Dすると、たぶん
OpenOffice.org 1.1.3 を起動しちゃうことになるから、、、、
先に動作している 2.3.1 の soffice.bin に対して 1.1.3 の soffice.bin が
通信してこのマクロをよろしくネ。とお願いすることになるから、、、
どうやら、ややこしいことになるかもしれませんです。

VBScript 版は、1.1.3 と 2.3.1 のように、異なるバージョンの OpenOffice.org
が混在している環境には、向かないようですね。

コラム 「タスクマネージャで表示される soffice.exe と soffice.bin の違いは」
通常の動作において、ユーザーがファイルをダブルクリックしたり、メニューから
OpenOffie.org のどれか Writer や Calc などを選択すると、soffice.exe が
起動されます。続いて soffice.exe は soffice.bin を起動します。soffice.bin は、
他の soffice.bin がすでに動作しているかどうか、通信の確立を試みます。
他の soffice.bin がいなかった場合は、つまり、通信が確立できなかった場合は、
自分自身が、OpenOffice.org 本体として動作します。
通信が確立できた場合は、コマンドラインに指定されていたファイル名、オプションや、
macro:/// などのパラメータの内容を通信して渡し、自分自身は終了します。
「予期しないエラー」発生などで soffice.bin が異常終了すると、soffice.exe が
soffice.bin を再び起動し、「ドキュメントの回復」が行なわれます。


> と言うエラーが出るようになり、OpenOffice.orgが固まります。

これは、たぶんですけど、、、

表面上、固まったように見えているだけで、実は画面上のどこかに
「○○○○」[OK}
というような小さなダイアログウィンドウが表示されているにもかかわらず、
そのダイアログが他のウィンドウの下に隠れているなどして見えなくなっていて、
[OK}ボタンが押されるまで、OpenOffice.org は他の指示には反応しない。
という状態なのではないかと思います。

似たようなバグ、といっていいのかわかりませんが、が以前ありました。
http://qa.openoffice.org/issues/show_bug.cgi?id=71440
http://www.openoffice.org/nonav/issues/showattachment.cgi/40512/71440_Recovery_process_has_stopped.png
ドキュメントの回復が途中で止まってしまった。ああどうしよう。。。
ダイアログをどけてみたら、その後ろに、「リンクを更新しますか。[OK]」と
いうダイアログが隠れていて、ボタンが押されるのをずっと待っていた。
ちゃんちゃん。

CloseVetoException は、「ファイル」「閉じる」メニューの指示をしたら、
そのドキュメントが閉じられるよという通知を受取った誰かが、
「ちょっと待ったー」と異議を唱えた場合に発生する「例外」です。

Close しようとしているのを Veto (大統領の拒否権などに使われる英単語)
する Exception (例外)というような意味で名づけられたのではないかと。

> --------------
> 素直に、右クリックして、スライドショーを実行するか、
> バージョンを落として、1.3でやっていくかで、様子を見ます。

すみません。あまりお役に立てなかったみたいで。

> 当方は、WindwsXP x64というメジャーじゃない環境です。
> XP・64bitのOSは、評判よくないようだし、
> 自分でも使っていて、固まりそうになる場面が多いので、
> このOSのせいかもしれませんので、ご容赦下さい。
>
> 他のOSでは、soplayer-0.2-vbscript.vbsを試していませんので、
> 申し訳ありません。
> では、ご報告まで。失礼します。ありがとうございました。

詳細なご報告、ありがとうございました。
Tora


【MLコミュホームページ http://www.freeml.com/openoffice

--[PR]------------------------------------------------------------------
 ◆◇◇ 口臭、体臭、加齢臭…。あなたはニオイ大丈夫ですか? ◇◇◆
───────────────────────────────────
天然消臭成分が体のニオイを元から解決してくれると話題の消臭サプリ発見!
 ≪ 販売総数30万袋突破!【爽臭革命】2,940円(税込/90粒入)≫
http://ad.freeml.com/cgi-bin/sa.cgi?id=aSzfn
------------------------------------------------------------------[PR]--
■GMO INTERNET GROUP■ GMO INTERNET www.gmo.jp

投稿者 xml-rpc : 2007年12月16日 03:02
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/67701
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。