◀一般トップへ
  • 2376 辞書引きソフトをマクロで実行できますか
    • 2392 Re:辞書引きソフトDDをマクロでの件
      • 2393 Re2:辞書引きソフトDDをマクロでの件
      • 2394 エディターで使う辞書ソフトについて
        • 2396 Re:エディターで使う辞書ソフトについて
      • 2397 Re2:辞書引きソフトDDをマクロでの件
        • 2429 Re3:辞書引きソフトー使い方?
          • 2430 Re4:辞書引きソフトー使い方?
            • 2436 Re5:辞書引きソフトー使い方?
              • 2437 Re6:辞書引きソフトー使い方?
                • 2439 Re7:辞書引きソフト-使い方?
                  • 2442 Re8:辞書引きソフト-使い方?
                    • 2445 Re9:辞書引きソフト-使い方?
                      • 2446 Re10:辞書引きソフト-使い方?
                    • 2447 Re9:辞書引きソフト-使い方?
                      • 2448 Re: 日付入力
                      • 2450 Re10:辞書引きソフト-使い方?
                        • 2451 Re11:辞書引きソフト-使い方?
                          • 2453 Re12:辞書引きソフト-使い方?
                            • 2456 Re13:辞書引きソフト-使い方?
                              • 2457 Re14:辞書引きソフト-使い方?
                                • 2464 Re15:辞書引きソフト-使い方?
                                  • 2466 Re16:辞書引きソフト-使い方?
                                    • 2467 Re17:辞書引きソフト-使い方?
                                  • 2468 Re16:辞書引きソフト-環境 - 追加
                          • 2454 Re12:辞書引きソフト-使い方?
                            • 2461 Re13:辞書引きソフト-使い方?
                              • 2476 Re14:辞書引きソフト-使い方?
                          • 2455 Re12:辞書引きソフト-使い方?
                      • 2452 Re10:辞書引きソフト-使い方?
          • 2470 Re4:辞書引きソフトー使い方?
            • 2471 Re5:辞書引きソフト-使い方?
              • 2472 Re6:辞書引きソフト-使い方?
                • 2473 Re7:辞書引きソフト-ポカミス修正
  • [2376] 辞書引きソフトをマクロで実行できますか Ki 2002年10月16日 17:51

    サクラエディタで文書を作成中、DDwinなどの辞書引きソフトをマクロで呼び出して使用したいのですがそのプログラムなどはあるのでしょうか?
    • [2392] Re:辞書引きソフトDDをマクロでの件 Ki 2002年10月19日 13:38

      ▼ Kiさん
      > サクラエディタで文書を作成中、DDwinなどの辞書引きソフトをマクロで呼び出して使用したいのですがそのプログラムなどはあるのでしょうか?

      以下のプログラムは、秀丸でDDwin(辞書引きソフト)をマクロで呼び出すプログラムです。サクラエディタでも使用できますようにするためにはどのように変えたらよいのでしょう?プログラムを組めない私は不便を感じております。どなたかお知恵をいただけないでしょうか?

      if (!selecting)

      selectword;
      $word = gettext(seltopx, seltopy, selendx, selendy);

      if(rightstr($word,3)=="ies"){$word=leftstr($word,strlen($word)-3)+"y";}
      else if(rightstr($word,4)=="ness"){$word=leftstr($word,strlen($word)-4)+"*";}
      else if(rightstr($word,3)=="ing"){$word=leftstr($word,strlen($word)-3)+"*";}
      else if(rightstr($word,3)=="est"){$word=leftstr($word,strlen($word)-3)+"*";}
      else if(rightstr($word,2)=="es"){$word=leftstr($word,strlen($word)-2)+"*";}
      else if(rightstr($word,4)=="pped"){$word=leftstr($word,strlen($word)-4)+"p*";}
      else if(rightstr($word,4)=="mmed"){$word=leftstr($word,strlen($word)-4)+"m*";}
      else if(rightstr($word,4)=="tted"){$word=leftstr($word,strlen($word)-4)+"t*";}
      else if(rightstr($word,4)=="gged"){$word=leftstr($word,strlen($word)-4)+"g*";}
      else if(rightstr($word,3)=="ied"){$word=leftstr($word,strlen($word)-3)+"y*";}
      else if(rightstr($word,2)=="ed"){$word=leftstr($word,strlen($word)-2)+"*";}
      else if(rightstr($word,2)=="er"){$word=leftstr($word,strlen($word)-2)+"*";}
      else if(rightstr($word,1)=="s"){$word=leftstr($word,strlen($word)-1)+"*";}

      run "c:\\program files\\ddwin\\ddwin.exe ,2,外国語,g1," + $word;
      • [2393] Re2:辞書引きソフトDDをマクロでの件 げんた 2002年10月19日 19:22

        >run "c:\\program files\\ddwin\\ddwin.exe ,2,外国語,g1," + $word;
        この部分だけでしたら外部コマンド呼び出しで可能ですが,その手前の文字列加工が問題です.

        選択文字列の取得マクロさえあれば,PPAもしくはWSHを使うことで同等のことができると思います.が,残念ながら現状では選択文字列の取得ができません.

        やっぱり選択文字列の取得マクロは必須ですねぇ...
      • [2394] エディターで使う辞書ソフトについて Wendy 2002年10月19日 22:54

        Kiさん

        私もDDwin.exe のユーザーです。お話の趣向は分かりました。

        私個人は、他のエディタのマクロで、DDwinのマクロによって文字を呼び出すことをしておりません。今の私の環境では、DDwin が不安定なこともあって、エディタからのマクロをやめています。

        それで、エディタ上で使う辞書ソフトとしては、DDwin, Pdic, Roboword, IBMのマウス辞書・翻訳をそれぞれの用途に合わせて使用しています。正直なところ、際だってどれがいいとは思えません。また、辞書ソフトだけでなく、アスキーの翻訳ソフトピカイチも安価で便利だと感じています。

        げんたさんのお話で、その仕様は分かりました。辞書ソフトは、それぞれの人の使い方があるので、私にはなんとも言えませんが、代用として、DDwin 以外の上記のものが挙げられます。その中では、Robowordが一番、ご要望に近いものだとは思いますが、いままでのマクロに近い状態で動かすためには、かなり繁雑な設定を繰り返さなくてはなりません。それでも、よかったら、Roboword をお試しになると良いかと思います。DDwin 用の辞書は、ほとんど読めます。また、そのサイトで紹介されているフリーの辞書にも、おどろくほどすばらしいものがあります。よかったら、ご一考されたらよろしいかと思います。

        http://www.a2001.com/down/index.html

        ロボーワード体験版

        もし、ご存じで使用済みでしたら、今回の件、お見捨てください。

        Wendy 2002/10/19(Sat)
        • [2396] Re:エディターで使う辞書ソフトについて Ki 2002年10月20日 09:39

          ▼ Wendyさん
          > Kiさん
          >
          > 私もDDwin.exe のユーザーです。お話の趣向は分かりました。
          >
          > 私個人は、他のエディタのマクロで、DDwinのマクロによって文字を呼び出すことをしておりません。今の私の環境では、DDwin が不安定なこともあって、エディタからのマクロをやめています。
          >
          > それで、エディタ上で使う辞書ソフトとしては、DDwin, Pdic, Roboword, IBMのマウス辞書・翻訳をそれぞれの用途に合わせて使用しています。正直なところ、際だってどれがいいとは思えません。また、辞書ソフトだけでなく、アスキーの翻訳ソフトピカイチも安価で便利だと感じています。
          >
          > げんたさんのお話で、その仕様は分かりました。辞書ソフトは、それぞれの人の使い方があるので、私にはなんとも言えませんが、代用として、DDwin 以外の上記のものが挙げられます。その中では、Robowordが一番、ご要望に近いものだとは思いますが、いままでのマクロに近い状態で動かすためには、かなり繁雑な設定を繰り返さなくてはなりません。それでも、よかったら、Roboword をお試しになると良いかと思います。DDwin 用の辞書は、ほとんど読めます。また、そのサイトで紹介されているフリーの辞書にも、おどろくほどすばらしいものがあります。よかったら、ご一考されたらよろしいかと思います。
          >
          > http://www.a2001.com/down/index.html
          >
          > ロボーワード体験版
          >
          > もし、ご存じで使用済みでしたら、今回の件、お見捨てください。
          >
          > Wendy 2002/10/19(Sat)

          Wendyさん
           情報ありがとうございました。DDwinの串刺し検索が仕事でもとても役立ったものですから期待していたのですが、いろいろと難しいことなのですね。ロボワードで試してみたいと思います。感謝を込めて。
          Ki
      • [2397] Re2:辞書引きソフトDDをマクロでの件 げんた 2002年10月21日 19:43

        Kiさんが示してくれたマクロをVBScriptに移植してみました.

        但しこれは次版(1.3.5.4)以降でのみ動作します.(GetSelectedStringが新規追加されるマクロ)

        ▼ここから下をddwin.vbsという名前で保存
        ' DDWinで現在位置の単語を検索
        '
        ' 秀丸マクロの移植版
        ' Oct. 21, 2002 genta

        Option Explicit
        DIM word

        word = Editor.GetSelectedString( 0 )

        If word <> "" then
        ddwin_search "外国語", word
        end if

        sub ddwin_search( group, word )
        If right(word,3) = "ies" then
        word=left(word,len(word)-3) & "y"
        ElseIf right(word,4) = "ness" then
        word=left(word,len(word)-4) & "*"
        ElseIf right(word,3) = "ing" then
        word=left(word,len(word)-3) & "*"
        ElseIf right(word,3) = "est" then
        word=left(word,len(word)-3) & "*"
        ElseIf right(word,2) = "es" then
        word=left(word,len(word)-2) & "*"
        ElseIf right(word,4) = "pped" then
        word=left(word,len(word)-4) & "p*"
        ElseIf right(word,4) = "mmed" then
        word=left(word,len(word)-4) & "m*"
        ElseIf right(word,4) = "tted" then
        word=left(word,len(word)-4) & "t*"
        ElseIf right(word,4) = "gged" then
        word=left(word,len(word)-4) & "g*"
        ElseIf right(word,3) = "ied" then
        word=left(word,len(word)-3) & "y*"
        ElseIf right(word,2) = "ed" then
        word=left(word,len(word)-2) & "*"
        ElseIf right(word,2) = "er" then
        word=left(word,len(word)-2) & "*"
        ElseIf right(word,1) = "s" then
        word=left(word,len(word)-1) & "*"
        end if

        Editor.ExecCommand( "C:\\Program Files\\DDwin\\ddwin.exe ,2," & group & ",g1," & word )
        end sub
        • [2429] Re3:辞書引きソフトー使い方? Ki 2002年10月27日 10:45

          ▼ げんたさん
          > Kiさんが示してくれたマクロをVBScriptに移植してみました.
          >
          > 但しこれは次版(1.3.5.4)以降でのみ動作します.(GetSelectedStringが新規追加されるマクロ)
          >
          > ▼ここから下をddwin.vbsという名前で保存
          > ' DDWinで現在位置の単語を検索
          > '
          > ' 秀丸マクロの移植版
          > ' Oct. 21, 2002 genta
          >
          > Option Explicit
          > DIM word
          >
          > word = Editor.GetSelectedString( 0 )
          >
          > If word <> "" then
          > ddwin_search "外国語", word
          > end if
          >
          > sub ddwin_search( group, word )
          > If right(word,3) = "ies" then
          > word=left(word,len(word)-3) & "y"
          > ElseIf right(word,4) = "ness" then
          > word=left(word,len(word)-4) & "*"
          > ElseIf right(word,3) = "ing" then
          > word=left(word,len(word)-3) & "*"
          > ElseIf right(word,3) = "est" then
          > word=left(word,len(word)-3) & "*"
          > ElseIf right(word,2) = "es" then
          > word=left(word,len(word)-2) & "*"
          > ElseIf right(word,4) = "pped" then
          > word=left(word,len(word)-4) & "p*"
          > ElseIf right(word,4) = "mmed" then
          > word=left(word,len(word)-4) & "m*"
          > ElseIf right(word,4) = "tted" then
          > word=left(word,len(word)-4) & "t*"
          > ElseIf right(word,4) = "gged" then
          > word=left(word,len(word)-4) & "g*"
          > ElseIf right(word,3) = "ied" then
          > word=left(word,len(word)-3) & "y*"
          > ElseIf right(word,2) = "ed" then
          > word=left(word,len(word)-2) & "*"
          > ElseIf right(word,2) = "er" then
          > word=left(word,len(word)-2) & "*"
          > ElseIf right(word,1) = "s" then
          > word=left(word,len(word)-1) & "*"
          > end if
          >
          > Editor.ExecCommand( "C:\\Program Files\\DDwin\\ddwin.exe ,2," & group & ",g1," & word )
          > end sub

          げんたさん
          ありがとうございます。また質問があります。
          質問1
          エディタ1.3.5.4版で作成しddwin.vbsとして保存したのですが、このファイルをどこに保存し、どうすれば呼び出して使用できるのでしょうか?マクロで試しましたがうまくいきませんでした。
          質問2
          ddwinを使用するときその機能のグループ分けで「外国語」(英和辞書用)と「日本語」(和英辞書用)としているのですが、げんたさんのプログラムの"外国語"の部分を"日本語"に書き直し保存すれば、英語から日本語、日本語から英語がひけるようになるのかなと思いますがそう考えてよいですか?いろいろとお世話になります。どうぞアドバイスをお願いします。
          • [2430] Re4:辞書引きソフトー使い方? げんた 2002年10月28日 01:20

            引用は最小限でお願いします.スレッド一覧で直前の文章はすぐ上にきますから引用がなくてもわかりますよ.

            ▼ Kiさん
            >質問1
            >どこに保存し、どうすれば呼び出して使用できるのでしょうか?
            やり方は[2390]でWendyさんが書いてくれた方法と全く同じで良いはずです.
            うまくいかなかったというのはどういうことでしょうか?
            VBScript エラー ○○が△△です というようなダイアログボックスが出ますか?もしそうであればスクリプトの内容に問題があることになります.

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

            >質問2
            >"外国語"の部分を"日本語"に書き直し保存すれば、英語から日本語、日本語から英語がひけるようになるのかなと思いますがそう考えてよいですか?
            複数グループを使い分けるのであればそうしてください.グループ名が異なる2つのマクロを別々の名前で保存して,それぞれを登録します.
            • [2436] Re5:辞書引きソフトー使い方? Wendy 2002年10月29日 22:04

              げんた さん

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

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

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

                >エディタの新規ファイルが立ち上がるだけ
                う~ん.私のところでは問題なく動いているんですけどねぇ.
                エディタの新規画面が開くという部分がどうしてそうなるのかちょっと想像できません.

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

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

                > 私の作った簡単な VBs は動きます
                というのはサクラエディタのマクロとして実行させて動作するという意味でしょうか.
                • [2439] Re7:辞書引きソフト-使い方? Wendy 2002年10月30日 13:30

                  げんた さん

                  レスありがとうございます。私の方は、おそらく、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

                    > .vbs ファイルを、エディタ側から、マクロ指定すれば、新規画面が開いて、
                    > 実行時エラー「オブジェクトがありません。'WScript'」となります。
                    一応マクロの実行自体は行われているようですね.マクロとして呼び出すときにはWScriptというオブジェクトが定義されていないのでこのようになります.

                    メッセージボックスが使えないので問題が起こった場合の調査・デバッグがやりにくいのですが,例えば
                    Editor.InsText( "message" );
                    というのを適宜コード中にばらまいて,どこまで正しく実行されているか確かめることはできますでしょうか.
                    • [2445] Re9:辞書引きソフト-使い方? すい 2002年10月30日 21:31

                      何点か気づいた事があります。

                      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

                        >  このエディタのマクロ中の文字列処理では \\ → \ 変換の類は
                        >  行われなかったはず。
                        <略>
                        >  このエディタのマクロの文字列中では " は "" として書き表せる。
                        「エディタのマクロでは」じゃなくて 「VBSでは」でした。(^^ゞ
                    • [2447] Re9:辞書引きソフト-使い方? Wendy 2002年10月31日 01:22

                      >> .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

                        ▼ Wendyさん
                        > Wendy 02/10/31(木)
                        > ↑ で、英字は出ないのかな? (Thu) とか。
                        日付入力機能使ったことありませんでした(笑)
                        確かに出来ないみたい。でも必要ならvbscriptですぐ出来ますね。

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

                        マクロでメニュー追加やユーザインターフェースまで面倒を見られればそれはそれですごいエディタになりそうだ。
                      • [2450] Re10:辞書引きソフト-使い方? すい 2002年10月31日 12:16

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

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

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

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

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

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

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

                          Wendy 02/10/31(木)
                          • [2453] Re12:辞書引きソフト-使い方? げんた 2002年10月31日 16:30

                            >ある程度、構文のエラーが見えているならいいのですが、
                            デバッグがやりにくいのは結構致命的ですよね.
                            エラーの場合も行番号くらい出てくれないと追いようがない.
                            ダイアログボックスが出せないと途中で変数の内容をチェックするのも難しいし.

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

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

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

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

                            ファイル名をダブルクォーテーションで囲って2番目の引数を追加し,ExecCommandに付いている括弧も取り除いたら標準出力を取り込む設定でも動きました.
                            • [2456] Re13:辞書引きソフト-使い方? すい 2002年10月31日 19:51

                              >新しいウィンドウが開くというのは標準出力を取り込む設定になっているからではないかしら.

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

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

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

                              Editor.InsText とか Editor.Char とかを増やしていくと、それらの数の分だけ (無題)ウィンドウが出てくるようになる。
                              謎。
                              • [2457] Re14:辞書引きソフト-使い方? すい 2002年10月31日 20:13

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

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

                                直感・憶測モードですが。
                                • [2464] Re15:辞書引きソフト-使い方? げんた 2002年11月01日 00:06

                                  >どうもマクロ中の Editor.~~ 実行時に、実行した分だけ (無題) ウィンドウができるみたい。
                                  WSHのバージョンとOSのバージョンわかりますか?

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

                                  こちらでも一応関連部分の調査はしてみます.
                                  • [2466] Re16:辞書引きソフト-使い方? すい 2002年11月01日 12:23

                                    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:辞書引きソフト-使い方? Wendy 2002年11月01日 13:21

                                      げんた さん
                                      すい さん

                                      こちらは、動かない環境ですが、(^^;
                                      すい さんに対して、私のは、
                                      >・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月01日 18:26

                                    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

                            >すい さんがお書きになったものも、もちろん試しています。
                            そうでしたか。すみません。

                            もう一点。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:辞書引きソフト-使い方? Wendy 2002年10月31日 22:33

                              すい さん

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

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

                              実は、私の言いたいのは、それ! ここでは話が出ていないだけで、だんだん、複雑な環境になって、あちこちで、いままでの解決法では、素直に解決していません。「あなたが、本当に分かっていないからだ」というお叱りもあるでしょうが、ともかく、私自身で、今、探しています。
                              Wendy 02/10/31(木)
                              • [2476] Re14:辞書引きソフト-使い方? Wendy 2002年11月02日 23:36

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

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

                                Wendy 02/11/2(土)
                          • [2455] Re12:辞書引きソフト-使い方? すい 2002年10月31日 19:16

                            以下、参考までに。

                            実行ファイルのパス中にスペースがあるのに "" で括られていない場合、例えば
                            [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

                        >WSHをインストールしない人でも、動くのかしら。
                        IE5を入れると一緒にインストールされると思った.IE4や3でも入るのかな.
          • [2470] Re4:辞書引きソフトー使い方? すい 2002年11月01日 20:50

            Kiさん からメールが来て、お困りのようでした(考えてみればそうですね、動作しないままでは困るでしょうね (;^^A)
            ので、急場のしのぎということで PPA.DLL 版に移植してみました。
            ddwin.ppa という名前で保存して実行してみてください。
            なお、実行には PPA.DLL が必要です。sakura.exe と同じフォルダに PPA.DLL を放り込んでおいてください。
            ----------
            // DDWinで現在位置の単語を検索
            //
            // 秀丸マクロの移植版
            // Oct. 21, 2002 genta
            // ↑の PPA.DLL 移植版
            // マクロファイルの拡張子は必ず .PPA にすること。PPA.DLL 必須。

            var // 変数を確保する場所
            word,group:String; // 文字変数を用意
            begin
            word := S_GetSelectedString(0);
            group := '外国語';

            if word <> '' then
            begin
            if Copy(word,length(word)-2,3) = 'ies' then
            word := Copy(word,1,length(word)-3) + 'y'
            else if Copy(word,length(word)-3,4) = 'ness' then
            word := Copy(word,1,length(word)-4) + '*'
            else if Copy(word,length(word)-2,3) = 'ing' then
            word := Copy(word,1,length(word)-3) + '*'
            else if Copy(word,length(word)-2,3) = 'est' then
            word := Copy(word,1,length(word)-3) + '*'
            else if Copy(word,length(word)-1,2) = 'es' then
            word := Copy(word,1,length(word)-2) + '*'
            else if Copy(word,length(word)-3,4) = 'pped' then
            word := Copy(word,1,length(word)-4) + 'p*'
            else if Copy(word,length(word)-3,4) = 'mmed' then
            word := Copy(word,1,length(word)-4) + 'm*'
            else if Copy(word,length(word)-3,4) = 'tted' then
            word := Copy(word,1,length(word)-4) + 't*'
            else if Copy(word,length(word)-3,4) = 'gged' then
            word := Copy(word,1,length(word)-4) + 'g*'
            else if Copy(word,length(word)-2,3) = 'ied' then
            word := Copy(word,1,length(word)-3) + 'y*'
            else if Copy(word,length(word)-1,2) = 'ed' then
            word := Copy(word,1,length(word)-2) + '*'
            else if Copy(word,length(word)-1,2) = 'er' then
            word := Copy(word,1,length(word)-2) + '*'
            else if Copy(word,length(word)-0,1) = 's' then
            word := Copy(word,1,length(word)-1) + '*'
            end;

            // MessageBox(word,'',0); // for Debug
            // MessageBox( '"C:\Program Files\DDwin\ddwin.bat" ,2,' + group + ',g1,' + word ,'',0); // for Debug
            S_ExecCommand ( '"C:\Program Files\DDwin\ddwin.exe" ,2,' + group + ',g1,' + word , 0 );
            end;
            end;
            • [2471] Re5:辞書引きソフト-使い方? Wendy 2002年11月01日 21:30

              すい さん
              >Kiさん からメールが来て、お困りのようでした(考えてみればそうですね、動作しないままでは困るでしょうね (;^^A)

              私の方は、確認できました。どうもありがとうございます。
              Kiさんのほうも大丈夫ではないかと思います。
              (私の問題は、じっくり考えます(^^;)
              とりあえず、では、まずお礼まで。げんたさんへも (^^)/~

              Wendy 02/11/1(金)
              • [2472] Re6:辞書引きソフト-使い方? Ki 2002年11月01日 22:07

                ▼ Wendyさん
                > すい さん
                > >Kiさん からメールが来て、お困りのようでした(考えてみればそうですね、動作しないままでは困るでしょうね (;^^A)
                >
                > 私の方は、確認できました。どうもありがとうございます。
                > Kiさんのほうも大丈夫ではないかと思います。
                > (私の問題は、じっくり考えます(^^;)
                > とりあえず、では、まずお礼まで。げんたさんへも (^^)/~
                >
                > Wendy 02/11/1(金)

                すいさん
                 私のほうも確認できました。ありがとうございます。げんたさん、Wendyさんこの問題を扱ってくださりありがとうございました。感謝。
                Ki 02/11/01
                • [2473] Re7:辞書引きソフト-ポカミス修正 すい 2002年11月01日 22:33

                  >> 私の方は、確認できました。
                  >
                  > 私のほうも確認できました。

                  おお、良かった良かった、と思っていたら...一箇所ミスがありました。m(_'_)m

                  end が1個余計で、そのため、
                  「カーソルが空行にあり、何も文字列が選択されていない状態で実行しても ddwin が実行されてしまう」
                  という事になってしまっています。(大して実害ないかもしれませんが、このままでは うっとうしそうですので。)

                  という事で、修正願います。m(_'_)m

                  最後の方の
                  ----- 修正前 -----
                  else if Copy(word,length(word)-0,1) = 's' then
                  word := Copy(word,1,length(word)-1) + '*'
                  end;
                  ------------------
                    ↓ ↓ ↓
                  ----- 修正後 -----
                  else if Copy(word,length(word)-0,1) = 's' then
                  word := Copy(word,1,length(word)-1) + '*'
                  ;
                  ------------------

                  ここの end を1個削除します。「セミコロン(;)は残す」という事に注意!!です。
                  以上っす。