COMオブジェクトの代入No.03303
bouz さん 09/08/24 16:28
 
こんにちは。
オブジェクトの代入演算子相当のものが見あたりませんが、見落としているんでしょ
うか?どうすればいいのでしょう?
getpropstr関数、getpropnum関数、getpropobj関数ときて
setpropstr文、setpropnum文で
これだ!と思ったsetpropobj文?がないのがいかにも残念なんですが。

[ ]
RE:03303 COMオブジェクトの代入No.03315
秀丸担当 さん 09/08/24 18:09
 

setpropobj文は無いです。
概念的に無いものかと思い込んでいるのですが、そういった使い方もあるのでし
ょうか。
もしWSHなどでそういった使い方のサンプルがありましたら教えてもらえると参考
になります。
プログラム的にはオブジェクトを代入するということは、やってみないとわから
ないですが、たぶん問題無いと思います。

[ ]
RE:03315 COMオブジェクトの代入No.03316
bouz さん 09/08/24 18:36
 
>プログラム的にはオブジェクトを代入するということは、やってみないとわから
>ないですが、たぶん問題無いと思います。
それをきいて喜んで書き込んでいます。
ハイ、やろうとしているのは、SAPI 5.3で
vbscriptだと
Set Voice = CreateObject("SAPI.SpVoice")
Set Voice.voice = Voice.GetVoices("name=VW Misaki").Item(0)

jscriptだと
var v = new ActiveXObject("sapi.spvoice");
v.voice = v.GetVoices("name=VW Misaki").Item(0);

というような例です。
"VW Misaki"はインストールした音声によりいろいろです。
今はマクロからjsを呼び出して利用していますが、ここがうまくいくと秀丸8βのマ
クロ内で完結するかな、と思ったのです。

[ ]
RE:03316 COMオブジェクトの代入No.03323
秀丸担当 さん 09/08/25 12:40
 

サンプルありがとうございます。
試しにsetpropobjを作ってみて、なんとか動きました。
Vista の SAPI 5.3 は追加の音声のインストールがうまくいかず試せなかったの
ですが、XP で SAPI 5.1 を入れてうまくいきました。
β8でsetpropobjを追加してみようと思います。

サンプル
//Set Voice = CreateObject("SAPI.SpVoice")
#Voice = createobject("SAPI.SpVoice");

//Set Voice.voice = Voice.GetVoices("name = microsoft mary").Item(0)
#mary = member( #Voice, "GetVoices", "name = microsoft mary" );
#maryItem = member( #mary, "Item", 0 );
setpropobj #Voice, "voice", #maryItem;

//Voice.Speak "this is a pen"
callmethod #Voice, "Speak", "this is a pen";

[ ]
RE:03323 COMオブジェクトの代入No.03332
bouz さん 09/08/25 17:04
 
楽しみですね。すばらしい。
βがあがったら、早速Vistaで試してみます。

[ ]
RE:03323 COMオブジェクトの代入No.03337
Iranoan さん 09/08/25 18:44
 
 秀丸担当さん今日は、Iranoan です。
> β8でsetpropobjを追加してみようと思います。
 ヘルプが無いようです。

[ ]
RE:03323 COMオブジェクトの代入No.03347
bouz さん 09/08/26 09:23
 
setpropobj文、Windows Vista™ Ultimate: バージョン 6.0(ビルド 6002: Ser
vice Pack 2) で動作しています。
たまたま複数dllを使うマクロだったので、loaddll関数、dllfunc関数も使ってみま
したが、こちらも機能しました。
wshを呼ばずに、マクロだけで完結しました。秀丸環境の広がりを感じます。

[ ]
RE:03337 COMオブジェクトの代入No.03350
秀丸担当 さん 09/08/26 09:39
 

setpropobjもβ9でヘルプに書いておきます。

[ ]
RE:03350 COMオブジェクトの代入No.03360
Iranoan さん 09/08/26 13:28
 
 秀丸担当さん今日は、Iranoan です。
> setpropobjもβ9でヘルプに書いておきます。
 よろしくお願いします。

[ ]