Curl Global Community
CurlでExcelを開く際に多重起動をしてしまう - Printable Version

+- Curl Global Community (http://communities.curl.com)
+-- Forum: Discussions (http://communities.curl.com/forumdisplay.php?fid=1)
+--- Forum: General Curl questions (http://communities.curl.com/forumdisplay.php?fid=2)
+--- Thread: CurlでExcelを開く際に多重起動をしてしまう (/showthread.php?tid=840)



CurlでExcelを開く際に多重起動をしてしまう - Curlman - 02-08-2013

こんばんわ
CurlからMicrosoftExcelを展開する方法について質問です。

下記プログラムでExcelを開くことには成功しているのですが、
Excelが多重起動されてしまい困っています。(Excelウィンドウも多数開かれます)
たとえば、リンクを押下すると下記プログラムが実行されると
タスクマネージャのプロセスに「Excel.exe」がひとつ起動されます。
押下する度にプロセスが起動されるため、PCの処理が重くなることを懸念しています。
最終的には、一つのプロセス(一つのExcelウィンドウ)内で複数のExcelが立ち上がると嬉しいのですが
別のプログラムでの起動、プログラムの追記等、何か方法は無いでしょうか。
皆さんのお知恵を拝借したいです。
宜しくお願い致します。
【サンプルプログラム】
{spawn-host-process
"C:\\Program Files\\Microsoft Office\\Office12\\EXCEL.EXE",
{StringArray "C:\\sample.xls"}
}
【環境】
CurlRTE : Curl8.0
OS : windows7



RE: CurlでExcelを開く際に多重起動をしてしまう - umemura - 02-08-2013

START を使うのではどうでしょう

Code:
{spawn-host-shell "START c:\test.xls"}



RE: CurlでExcelを開く際に多重起動をしてしまう - fukuta - 02-08-2013

これでどうでしょうか
Code:
{spawn-host-shell "start C:\\sample.xls"}




RE: CurlでExcelを開く際に多重起動をしてしまう - umemura - 08-22-2013

C:\Documents and Settings のような、空白が含まれたパスにエクセルファイルがあると、
単純に Url.full-file-name を渡すだけではうまくいきません。

空白文字をエンコードする必要があると思うのですが、どうすればよいでしょうか?



RE: CurlでExcelを開く際に多重起動をしてしまう - umemura - 08-22-2013

ダブルクォートで囲めばいけるかなと思ったのですが、コマンドプロンプトが開くだけでうまくいかず・・・
と思ったら、START コマンドでは、ダブルクォートでパスを渡す場合は、「タイトル」が必要とのこと。

下記コードでいけました

Code:
{define-proc public {execute-excel excel-url:Url}:void
    {if-non-null {excel-url.resolve } then
        {spawn-host-shell
            "START " & " \"title\"    \"" & excel-url.full-filename &  "\"",
            suppress-console-window? = true
        }
    }
  }





RE: CurlでExcelを開く際に多重起動をしてしまう - aleena - 10-23-2013

これでどうでしょうか