台灣最大程式設計社群網站
線上人數
5796
 
會員總數:246136
討論主題:189720
歡迎您免費加入會員
討論區列表 >> ASP >> Wscript.Shell 執行 command line 問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
Wscript.Shell 執行 command line 問題
價值 : 500 QP  點閱數:1027 回應數:6
樓主

Fire
中級專家
3478 32
3034 705
發送站內信



我用下列方試執行 excel 打開一個檔案
Dim oShell
Set oShell = Server.CreateObject("Wscript.Shell")
oShell.Run "d:\progra~1\micros~1\office11\excel.exe abc.xls"
此時工作管理員的處理程序裡有出現 EXECEL.EXE, abc.xls 也會被獨佔地開啟
可是工作列上卻沒有 excel 視窗, 這樣正常嗎? 還是要用什麼方法才能有視窗?

搜尋相關Tags的文章: [ asp ] , [ cmd ] , [ excel ] , [ shell ] ,
本篇文章發表於2016-04-26 18:12
1樓
回應

香帥
檢舉此回應
程式碼那樣是ok的,但可能發生的問題
請參考
http://www.blueshop.com.tw/board/FUM20041006152627A9N/BRD20130103192302VZL.html
3樓的解答去設定後再試看看
本篇文章回覆於2016-04-27 01:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

老頑童
捐贈 VP 給 老頑童 檢舉此回應
這種方式Excel是開在Server上
通常Server上是沒有人在操作的
所以沒有畫面應該是正常的(就算有畫面Client端也看不到)
用Wscript.Shell去開Excel,必需考慮怎麼去關閉Excel的問題
不然到時Server上執行一堆Excel程式沒關,可能會爆掉
建議改用Excel.Application方式比較好控制
本篇文章回覆於2016-04-27 11:17
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

Fire
檢舉此回應
我想沒有視窗畫面也是正常的, 因為我的身份和Client身份不同.

其實要關掉EXCEL並沒有問題!
我主要是要用程式"叫xls檔進行試算動作"
Wscript.Shell和Excel.Application(兩者我都試了)都一樣會產生 iusr在使用的excel task
可是有公式的儲存格並沒有試算動作, 所以才想說如果有excel視窗出來它就會試算
本篇文章回覆於2016-04-27 11:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
最有價值解答

老頑童
捐贈 VP 給 老頑童 檢舉此回應
我試過用Excel.Application是可以觸發公式的
C2設定為=A2+B2
程式執行的結果,C2值確實有跟著變
本篇文章回覆於2016-04-27 14:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

Fire
檢舉此回應
我用這段程式在我電腦上跑
跑到 Excel.WorkBooks.Open 這個指令就會卡住
重新開機, 結果一樣
我再跑我自己的程式, 結果也變成遇到 WorkBooks.Open 就卡住 (本來不會 @@)
於是我就把程式拿到另一台主機(IIS7)跑.... 一樣 orzzzzzzzzzzzzz
本篇文章回覆於2016-04-27 19:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

Fire
檢舉此回應
X的! 成功了!!!
原來我那個xls檔案裡藏有巨集 @@ (可是我選工具-巨集 裡面是空的)
重新建一個新檔來測試就ok了!
搞了快三天, 昏倒! Orz
本篇文章回覆於2016-04-27 20:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.