[2436] Re5:辞書引きソフトー使い方? 
2002/10/29 (火) 22:04:12 Wendy
INCM1.23a
げんた さん

>うまくいかなかったというのはどういうことでしょうか?
>VBScript エラー ○○が△△です というようなダイアログボックスが出ますか?もしそうであればスクリプトの内容に問題があることになります.


>何も起こらないとすれば,1. 選択しないで実行している, 2. 実行ファイルのパスが間違っている くらいしか思い当たりません.

私から、ちょっと、コメントさせていただきます。
すべてチェックしてみました。最初は、スクリプトエラーが出ていたような気がしたけれども、それは、私のコピペのどこかがいけなかったようです。しかし、それを直しても、エディタの新規ファイルが立ち上がるだけで、何かが、問題になっているようです。途中の構文で、わざとエラーを作ってあげても、また、変化形を原形に直す部分を取っても、同じ現象なので、VBs が悪いのではなく、こちらの固有の問題かもしれません。なお、WSH は組み込んでありますし、私の作った簡単な VBs は動きます。エディターは、<1.3.5.4>に間違いありません。


[2437] Re6:辞書引きソフトー使い方? 
2002/10/29 (火) 23:51:19 げんた
INCM1.23c
>エディタの新規ファイルが立ち上がるだけ
う〜ん.私のところでは問題なく動いているんですけどねぇ.
エディタの新規画面が開くという部分がどうしてそうなるのかちょっと想像できません.

ひょっとして何か関連づけが関係しているのでしょうか.
全ての拡張子に対してSAKURAで開くメニューを使っていらっしゃいますか?
ただファイルをエディタで開いてしまったのであれば,空のエディタ画面にはならないでしょうからちょっと外しているでしょうね.

こちらのDDwinのバージョンは2.59 (2000.9.25)です.

> 私の作った簡単な VBs は動きます
というのはサクラエディタのマクロとして実行させて動作するという意味でしょうか.


[2439] Re7:辞書引きソフト−使い方? 
2002/10/30 (水) 13:30:42 Wendy
INCM1.23a
げんた さん

レスありがとうございます。私の方は、おそらく、Kiさんの状況とは違うような気がします。あまり深追いしませんが、それ理由は、最後に書いておきます。

>>エディタの新規ファイルが立ち上がるだけ
>エディタの新規画面が開くという部分がどうしてそうなるのかちょっと想像できません.
>ひょっとして何か関連づけが関係しているのでしょうか.


 Sakura は、.txt の拡張子に、で標準で開くようにはなっていません。拡張子で「関連づけ」を替えてみたのですが、同じく新規画面が開くということでした。

>全ての拡張子に対してSAKURAで開くメニューを使っていらっしゃいますか?

 Sakura 側からという意味でしたら、バイナリでも開けられるかと思います。

>こちらのDDwinのバージョンは2.59 (2000.9.25)です.

  確か、それが正式バージョンだったと思います。私のDDwin は、Ver.2.64 (2002.6.6)になっています。しかし、大きな変更はないようですし、よほど仕様が違うならともかく、他のエディタのマクロで開けられますので、問題はないはずです。

>> 私の作った簡単な VBs は動きます
>というのはサクラエディタのマクロとして実行させて動作するという意味で


いいえ。外部コマンド実行からですから、
  wscript.exe "[file].vbs"
です。
 .vbs ファイルを、エディタ側から、マクロ指定すれば、新規画面が開いて、
        実行時エラー「オブジェクトがありません。'WScript'」となります。
「Wscript.exe」は、Ver.5.6.0.6626  01/06/26

私の気になっている部分は、「印刷」ができない問題もそうでしたが、他の常駐ツールやメモリとの兼ね合いもあるような気がします。特に、DDwinは、エディタから、マクロで立ち上げることはありませんので、どこにも、他の関連づけは残っていないはずです。最近は、常駐のバックアップツールもやめているのですが、それでも、まだ、何かが起きているようです。

今まで使用してきたソフトウェアに対しては、それらを維持するようにはしているのですが、何かをバージョンアップするたびに、細かなトラブルが起こっているのは間違いがありません。すべての常駐ツールをチェックすることはやぶさかではありませんが、そもそもの元凶には、IEとノートンがあるわけで、未だ、Win 98系ラインを抜け出せない身としては、それらを「使用しない」条件にしていくと、逆に、実用的ではなくなってしまいます。

Wendy 2002/10/30(Wed)


[2442] Re8:辞書引きソフト−使い方? 
2002/10/30 (水) 15:44:51 げんた
INCM1.23c
> .vbs ファイルを、エディタ側から、マクロ指定すれば、新規画面が開いて、
>        実行時エラー「オブジェクトがありません。'WScript'」となります。

一応マクロの実行自体は行われているようですね.マクロとして呼び出すときにはWScriptというオブジェクトが定義されていないのでこのようになります.

メッセージボックスが使えないので問題が起こった場合の調査・デバッグがやりにくいのですが,例えば
Editor.InsText( "message" );
というのを適宜コード中にばらまいて,どこまで正しく実行されているか確かめることはできますでしょうか.


[2445] Re9:辞書引きソフト−使い方? 
2002/10/30 (水) 21:31:46 すい
INCM1.23a
何点か気づいた事があります。

1.Editor.ExecCommand ってパラメータが2個必要なはず

2.実行するコマンド文字列中、\ を \\ にしていますが、
  このエディタのマクロ中の文字列処理では \\ → \ 変換の類は
  行われなかったはず。
  従って記述は素直に C:\Program Files\DDwin\ddwin.exe にするのが正解。

3.ファイルのパス中にスペースが含まれているのに "" で括っていない。これでは環境依存になる。
  C:\Program Files\DDwin\ddwin.exe ではなく "C:\Program Files\DDwin\ddwin.exe" という文字列にして
  ExecCommand に渡さないと、C:\Program や C:\Program.exe といった実行ファイル・フォルダ類が
  ある環境だと、そのフォルダが開く、その実行ファイルが実行される、という事になる。
  このエディタのマクロの文字列中では " は "" として書き表せる。

以上により、
        Editor.ExecCommand  """C:\Program Files\DDwin\ddwin.exe"" ,2," & group & ",g1," & word , 0
ではあるまいか?


[2446] Re10:辞書引きソフト−使い方? 
2002/10/30 (水) 21:41:57 すい
INCM1.23a
>  このエディタのマクロ中の文字列処理では \\ → \ 変換の類は
>  行われなかったはず。

<略>
>  このエディタのマクロの文字列中では " は "" として書き表せる。
「エディタのマクロでは」じゃなくて 「VBSでは」でした。(^^ゞ


[2447] Re9:辞書引きソフト−使い方? 
2002/10/31 (木) 01:22:56 Wendy
INCM1.23a
>> .vbs ファイルを、エディタ側から、マクロ指定すれば、新規画面が開いて、
>>        実行時エラー「オブジェクトがありません。'WScript'」となります。

>一応マクロの実行自体は行われているようですね.マクロとして呼び出すときにはWScriptというオブジェクトが定義されていないのでこのようになります.


>メッセージボックスが使えないので問題が起こった場合の調査・デバッグがやりにくいのですが,例えば
>Editor.InsText( "message" );
>というのを適宜コード中にばらまいて,どこまで正しく実行されているか確かめることはできますでしょうか.


実は、もう既に似たようなことはしていたのですが、最後の End sub までは、きているようです。その後の問題なので、#2439で書いたとおりの、こちら側の特有の問題だと思います。誰かが、実行してみてくれれば分かるのですが、Kiさんは分かっていただけたかしら。

私も、折りを見てしばらく、WSH 側をいじりながら、急に分かる時がまで、気長にやってみます。ところで、WSHをインストールしない人でも、動くのかしら。

「すい」さん
お話はありがたいのですが、実際に、げんたさんのところでは、もう実行済みなのです。だから、そういう問題ではないのではないでしょうか?

Wendy 02/10/31(木)
p.s. 別件で、↑ で、英字は出ないのかな? (Thu) とか。今は、ddd ですね。
別に、Multilingual は、こちらは必要ないけれども。(^^;


[2448] Re: 日付入力 
2002/10/31 (木) 02:56:11 げんた
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Q312461)
▼ Wendyさん
> Wendy 02/10/31(木)
> ↑ で、英字は出ないのかな? (Thu) とか。

日付入力機能使ったことありませんでした(笑)
確かに出来ないみたい。でも必要ならvbscriptですぐ出来ますね。

ただ,何でもスクリプトで出来る出来ると言ってしまうと非常に敷居が高くなってしまう。
それではと,マクロをたくさん添付し始めるとVimやxyzzyみたいになっちゃってsakura.exeだけでそれなりに使えるという利点が無くなってしまう。
マクロばりばりエディタと簡単エディタの間をねらう意味でもユーザインターフェースはおろそかにすべきでないと思いますね。

マクロでメニュー追加やユーザインターフェースまで面倒を見られればそれはそれですごいエディタになりそうだ。


[2450] Re10:辞書引きソフト−使い方? 
2002/10/31 (木) 12:16:31 すい
INCM1.23a
>「すい」さん
>お話はありがたいのですが、実際に、げんたさんのところでは、もう実行済みなのです。だから、そういう問題ではないのではないでしょうか?


試してみたのですか?
残念ながら最初の げんたさん の記述は明らかな文法ミスで、私の環境でも動きませんでした。
修正したら動作しましたよ。
特に「実行ファイル名を "" で括っていない」というのは、かなり致命的なレベル(?)で環境依存( OSによって動く/動かない)になります。


[2451] Re11:辞書引きソフト−使い方? 
2002/10/31 (木) 13:58:08 Wendy
INCM1.23a
すい さん
>試してみたのですか?
>残念ながら最初の げんたさん の記述は明らかな文法ミスで、私の環境でも動きませんでした。
>修正したら動作しましたよ。
>特に「実行ファイル名を "" で括っていない」というのは、かなり致命的なレベル(?)で環境依存( OSによって動く/動かない)になります。


言葉が足りなかったようですね。ごめんなさい。
すい さんがお書きになったものも、もちろん試しています。
ある程度の話はもう書いたので、省きますが、環境依存というのは、Win 2x 系か、Win 9x 系かということかしらね。

げんたさんの
>でも必要ならvbscriptですぐ出来ますね。

>ただ,何でもスクリプトで出来る出来ると言ってしまうと非常に敷居が高くなってしまう。

だいたい、私は、自分の単純な Vbscript (奇しくも日付表示)が、エディタ・マクロからでは動いていないのです。(;_;)もともと、私は、VBscript用で使っているのだから、その問題を解決していかなくてはならないと思っています。ある程度、構文のエラーが見えているならいいのですが、End sub まで、引っ掛かりがないので、せっかく教えてくださっても、今のところ棚上げなんです。

Wendy 02/10/31(木)


[2453] Re12:辞書引きソフト−使い方? 
2002/10/31 (木) 16:30:50 げんた
INCM1.23c
>ある程度、構文のエラーが見えているならいいのですが、
デバッグがやりにくいのは結構致命的ですよね.
エラーの場合も行番号くらい出てくれないと追いようがない.
ダイアログボックスが出せないと途中で変数の内容をチェックするのも難しいし.

WSHに詳しい人に期待しています(^^ゞ

ただ,Wendyさんの場合はエラーがないのに何も起こらないということですよね.
いったい全体何が起こっているのやら見当が付きません.

すいさんの指摘で気づいたことですが,新しいウィンドウが開くというのは標準出力を取り込む設定になっているからではないかしら.私が最後の引数を付け忘れたのが原因かと.

試しに外部コマンド実行で「標準出力を取り込む」をチェックしてから実行したところ,見事にアプリケーションエラー(死)になりました.

ファイル名をダブルクォーテーションで囲って2番目の引数を追加し,ExecCommandに付いている括弧も取り除いたら標準出力を取り込む設定でも動きました.


[2456] Re13:辞書引きソフト−使い方? 
2002/10/31 (木) 19:51:31 すい
INCM1.23a
>新しいウィンドウが開くというのは標準出力を取り込む設定になっているからではないかしら.

なんか、そういうのとは違うっぽい。(;^^;)

その現象が出るパソコンに取り付くことができたので試してみました。
どうもマクロ中の Editor.〜〜 実行時に、実行した分だけ (無題) ウィンドウができるみたい。

先頭の word = Editor.GetSelectedString( 0 )
で1個 (無題)ウィンドウが立ち上がる。
ここを注釈にするとウィンドウが出なくなる。

Editor.InsText とか Editor.Char とかを増やしていくと、それらの数の分だけ (無題)ウィンドウが出てくるようになる。
謎。


[2457] Re14:辞書引きソフト−使い方? 
2002/10/31 (木) 20:13:22 すい
INCM1.23a
>その現象が出るパソコンに取り付くことができたので試してみました。
>どうもマクロ中の Editor.〜〜 実行時に、実行した分だけ (無題) ウィンドウができるみたい。


VBS 側から VBS が呼び出したい機能名(?) がきちんと渡されてきていないとか。
あるいは その辺の呼び出し機能判定部でミスして、CSMacroMgr.cpp 内 CSMacroMgr::m_MacroFuncInfoArr[] の
先頭に定義されている FileNew が常にヒットするような事になっているとか?
機能の AddMethod 処理ミスとか。

直感・憶測モードですが。


[2464] Re15:辞書引きソフト−使い方? 
2002/11/1 (金) 00:06:19 げんた
INCM1.23c
>どうもマクロ中の Editor.〜〜 実行時に、実行した分だけ (無題) ウィンドウができるみたい。
WSHのバージョンとOSのバージョンわかりますか?

あと,型情報を与えているので0が数値か文字列かはWSHで認識できるはずで,宣言時の型にかかわらず解析時にはWSHから通知された型に基づいて文字列に変換しています.ですので,"0"と0で違いが出る理由がいまいちわかりません.

こちらでも一応関連部分の調査はしてみます.


[2466] Re16:辞書引きソフト−使い方? 
2002/11/1 (金) 12:23:12 すい
INCM1.23a
Editor.〜〜 実行時に (無題) が出る環境
・Win95 4.00.950B アクティブデスクトップなし + IE5.5sp2
・DOSプロンプトにて cscript を実行してみると
 Microsoft (R) Windows Script Host Version 5.1 for Windows

一応動作するが、数値指定時に 1 では駄目で "1" なら OK の環境
・Win2k 5.00.2195 sp2
・DOSプロンプトにて cscript を実行してみると
 Microsoft (R) Windows Script Host Version 5.1 for Windows

あとで別の環境でもやってみます。


[2467] Re17:辞書引きソフト−使い方? 
2002/11/1 (金) 13:21:13 Wendy
INCM1.23a
げんた さん
すい さん

こちらは、動かない環境ですが、(^^;
すい さんに対して、私のは、
>・Win95 4.00.950B アクティブデスクトップなし + IE5.5sp2
>・DOSプロンプトにて cscript を実行してみると

Win 98SE 4.10 の IE6.0 +sp1
cscript バージョンは、
    Microsoft (R) Windows Script Host Version 5.6

wscript バージョンは、
    Wscript.echo ,Wscript.Version
で、
    5.6
でした。

Wendy 02/11/1(金)


[2468] Re16:辞書引きソフト−環境 - 追加 
2002/11/1 (金) 18:26:30 すい
INCM1.23a
Editor.〜〜 実行時に (無題) が出る環境
・Win95 4.00.950a + IE4.01sp2のアクティブデスクトップ + IE5.5sp2
 MS-DOSプロンプトで cscript を実行
 Microsoft (R) Windows Script Host Version 5.1 for Windows

一応動作するが、数値指定時に 1 では駄目で "1" なら OK の環境
・WinNT4.0 sp5 4.00.1381 アクティブデスクトップなし + IE5.5sp2
 コマンドプロンプトで cscript を実行
 Microsoft (R) Windows Script Host Version 5.1 for Windows


他には実験できる環境なさそうです。
IE3 や IE4.01 の環境には WSH 入っていない(入れる気もない)ので当然動作しないですし。(^^;
NT3.51 は、そもそもエディタが動かなかったはず。あ、こんなメッセージが出るんだ。

あとは..Win98 は実家へ里帰りしないとないなぁ。
Win Me/Xp がどこにも無い。


[2454] Re12:辞書引きソフト−使い方? 
2002/10/31 (木) 19:16:37 すい
INCM1.23a
>すい さんがお書きになったものも、もちろん試しています。
そうでしたか。すみません。

もう一点。2個目のパラメータは ,0 ではなく、 , "0" でないとだめだったようです。
つまり、↓
Editor.ExecCommand  """C:\Program Files\DDwin\ddwin.exe"" ,2," & group & ",g1," & word , "0"
じゃないと駄目みたいです。(;^^;)

値で 1 を与えてみようと ,1 にしても駄目で , "1" にしたら正常に機能したので。
他の機能でも同様でした。私の所で , 0 で動いていたのは *たまたま* だったようです。m(_'_)m

>ある程度の話はもう書いたので、省きますが、環境依存というのは、Win 2x 系か、Win 9x 系かということかしらね。
最悪、もっと細かい違いで環境依存するかもしれません。サービスパック?を当てているかどうか/
IE Ver.? を入れてあるかどうか/?のセキュリティホールのパッチを入れてあるかどうか、とか、そういうあたり。
「 "" でくくらない場合の動作」なんて、所詮、仕様外というか保証外の動作でしょうから、
いつどのように Microsoft に変えられるかわかりません。


[2461] Re13:辞書引きソフト−使い方? 
2002/10/31 (木) 22:33:01 Wendy
INCM1.23a
すい さん

人様の作ったものより、まず、自分のVBs が、エディタから、マクロで動かなくては話になりませんよね。(^^; おっしゃっているポイントは理解している「つもり」です。Sakuraで、VBs を書くつもりが、何か、逆になってしまいそうです。

>>ある程度の話はもう書いたので、省きますが、環境依存というのは、Win 2x 系か、Win 9x 系かということかしらね。
>最悪、もっと細かい違いで環境依存するかもしれません。サービスパック?を当てているかどうか/
>IE Ver.? を入れてあるかどうか/?のセキュリティホールのパッチを入れてあるかどうか、とか、そういうあたり。
>「 "" でくくらない場合の動作」なんて、所詮、仕様外というか保証外の動作でしょうから、
>いつどのように Microsoft に変えられるかわかりません。


実は、私の言いたいのは、それ! ここでは話が出ていないだけで、だんだん、複雑な環境になって、あちこちで、いままでの解決法では、素直に解決していません。「あなたが、本当に分かっていないからだ」というお叱りもあるでしょうが、ともかく、私自身で、今、探しています。
Wendy 02/10/31(木)


[2476] Re14:辞書引きソフト−使い方? 
2002/11/2 (土) 23:36:37 Wendy
INCM1.23a
自己レスですが、
>だんだん、複雑な環境になって、あちこちで、いままでの解決法では、素直に解決していません。「あなたが、本当に分かっていないからだ」というお叱りもあるでしょうが、ともかく、私自身で、今、探しています。
>Wendy 02/10/31(木)


私が、今、VBs が動かないのと、HP deskjet 970Cxi で印刷できないのと関連性があるかもしれません。クレーム出している人たちで、試してみてくれる人いないかなぁ。

Wendy 02/11/2(土)


[2455] Re12:辞書引きソフト−使い方? 
2002/10/31 (木) 19:16:39 すい
INCM1.23a
以下、参考までに。

実行ファイルのパス中にスペースがあるのに "" で括られていない場合、例えば
[C:\Program Files\DDwin\ddwin.exe ,2,〜〜] という文字列だと、環境によって

タイプ1
まず最初のスペースまで(C:\Program まで)をファイル名とみなして実行できるファイルを探す。
├あればそれを実行する。
└無ければ素直に諦め、そのまま終了する。

タイプ2
まず最初のスペースまで(C:\Program まで)をファイル名とみなして実行できるファイルを探す。
├あればそれを実行する。
└無ければさらに次のスペースまで(C:\Program Files\DDwin\ddwin.exe まで)をファイル名と
 みなして実行できるファイルを探す。
 ├あればそれを実行する。
 └無ければさらに次のスペースまで<以下略>

の2タイプあるようですね。
タイプ2はセキュリティホールになり得るのでやめて欲しいところですが。> Micros○ft
# 今回のように、本来目的としていない意図しないプログラム(C:\PROGRAM.EXE とか)が起動しかねないような
# プログラムが世の中に横行します。
今回、たまたま げんたさん の環境がタイプ2だったのではないでしょうか?
私の環境はタイプ1でした。
なので、初めの げんたさん の記述のマクロでは目的のプログラムは実行できませんでした。


あと、本来あるべき Editor.ExecCommand の第2パラメータを抜かして記述してあった事についてですが、
これだと Editor.ExecCommand は「2個目のパラメータもあるはず」として、VBS から与えられていない、
“2個目のパラメータが来ると思っているメモリ領域”を参照しに行くことになるようで。
つまりサクラエディタが平気な顔をして不正なメモリ参照をする事になるようで、、、
(サクラエディタは、この辺の必要数のパラメータが与えられているかどうかのチェックがかなり甘い)

そのため、この辺のメモリ参照などのチェックをきちんとしている一部の NT系OS では、
第2パラメータを省略したVBSマクロを実行すると、そのマクロを実行したエディタの
ウィンドウがアプリケーションエラーで落ちることになったりします。

場合によってはこの不正アクセスを見逃したりする環境もあったり、、、そうなると、
サクラエディタはプチ・パーサーカー状態になるようで何が起こっても。。
# 大抵なんとも無いようですが。

げんたさん の所は、この辺に引っかからない環境なのでは。


[2452] Re10:辞書引きソフト−使い方? 
2002/10/31 (木) 16:30:50 げんた
INCM1.23c
>WSHをインストールしない人でも、動くのかしら。
IE5を入れると一緒にインストールされると思った.IE4や3でも入るのかな.

INCM/CMT
Cyclamen v3.81