台灣最大程式設計社群網站
線上人數
920
 
會員總數:242472
討論主題:187513
歡迎您免費加入會員
討論區列表 >> office VBA / WinOS >> excel 用vba執行exe檔的問題?
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
excel 用vba執行exe檔的問題?
價值 : 30 QP  點閱數:481 回應數:7

樓主

mofi
初學者
1 38
462 53
發送站內信

excel 用vba執行exe檔的問題?

我用滑鼠點擊執行CommandCam.exe檔,會出現明令提示字元框,然後由webcam拍一張照片存入一張image.bmp的照片於相同位置的資料夾。
但我用shell執行同一個外部的CommandCam.exe,

Sub SnapshotButton_Click()
Dim RetVal

RetVal = Shell(ThisWorkbook.Path & "/" & "CommandCam.exe", vbNormalFocus)

End Sub

一樣會出現明令提示字元框(同樣的內容,表示執行成功), 但就是找不到image.bmp的照片,
這是為什麼呢?有win10的安全機制擋下來嗎?該如何解決?



搜尋相關Tags的文章: [ excel ] , [ vba ] , [ shell ] , [ bmp 安全 ] ,
本篇文章發表於2017-12-15 17:00
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

P陳
檢舉此回應
& "/" & 請改成 & " /" & 試看看 (加一個空格)
本篇文章回覆於2017-12-16 08:24
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

mofi
檢舉此回應
p陳大大的方法無法執行,連命令提示字元框都沒出現了(=沒執行該exe檔)

用滑鼠點exe檔2次,與用shell函數執行exe檔,
有不同嗎?

為什麼用滑鼠點exe檔2次可以成功執行,但用shell函數執行(命令提示字元框都顯示作用成功),但最後卻找不到該張image.bmp的照片?
本篇文章回覆於2017-12-16 10:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

P陳
檢舉此回應
那換個方式

不要直接行 .exe
換放到 BAT 再點 BAT 看看

本篇文章回覆於2017-12-16 17:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

mofi
檢舉此回應
跟.exe檔一樣,還有其他可能性嗎?
本篇文章回覆於2017-12-21 21:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

P陳
檢舉此回應
直接點批次檔可以嗎?

本篇文章回覆於2017-12-21 22:31
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

kib72377
檢舉此回應
搜尋 IMAGE.BMP 跑到哪個資料夾不就知道了?
通常是 你 EXCEL檔案位置(文件夾) ,或是 MS EXCEL程式資料夾(程式資料夾),
或是 SHELL位置(WINDOWS下的系統資料夾),或是跑到 TEMP資料夾(USER的,或系統的)去了...
本篇文章回覆於2018-02-13 12:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

nubra
檢舉此回應
相同的問題,英文討論區有人是說,用SHELL呼叫時,該EXE檔案的位置已不在原位置,所以EXE檔案內有用到相對路徑的連結都會找不到位置,改絕對路徑就可以正常使用

我實測也是如此,用Shell ThisWorkbook.Path & "\test.exe", 1 呼叫TEST.EXE EXE內用絕對路徑開啟檔案都正常,用相對路徑都找不到檔案。

不過不知道要如何解決這情況,有人有比較好的方式嗎,希望能維持EXE檔案用相對路徑,又能讓SHELL呼叫後正常使用。
本篇文章回覆於2018-03-16 10:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

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