Discussion:
請問關於在vba裡執行exe檔問題
(时间太久无法回复)
愛情絕緣體
2006-01-19 11:28:53 UTC
Permalink
小妹用c++寫的一個code 產生的一個 a.exe檔

放在 D:\Test 下 code裡面會去讀一個txt檔 也放在 D:\Test下

若我直接執行a.exe則不會有問題 用getcwd 查 exe的路徑也是在D:\Test

但若是用vba

r=shell("D:\Test\a.exe",1)

去執行時 發現 用 getcwd 查 exe 的路徑被換到 C:\..\My Documents

這是電腦設定問題嗎??????

有啥辦法嗎??

又不想把路徑寫死....

幫幫我吧!!!!!!!!!
--
夫兵者不祥之器物或惡之故有道者不處君子居則貴左用兵則貴右兵者不祥之器非君子
之器不得已而用之恬淡為上勝而不美而美之者是樂殺人夫樂殺人者則不可得志於天下
矣吉事尚左凶事尚右偏將軍居左上將軍居右言以喪禮處之殺人之眾以哀悲泣之戰勝以
喪禮處之道常無名樸雖小天下莫能臣侯王若能守之萬物將自賓天地相合以降甘露民莫
之令而自均始制有名名亦既有夫亦將知止知止可以不殆譬道之在天203.66.182.241海
璉璉
2006-01-19 11:50:45 UTC
Permalink
Shell 並不會幫你變更工作路徑,Office 文件在開啟的時候,文件的路徑為預設路徑。

所以若你需要變更路徑時,你可以用 CurDir 變更,若是磁碟不同時,須先變更工作磁碟。

在 我的文件夾 時,有可能你的 Office 文件存於我的文件夾,或是新文件還沒存檔過,新文件預設位置會在我的文件夾內。
於 news:4MF4L5%24l9_%40bbs.wretch.cc 發表
小妹用c++寫的一個code 產生的一個 a.exe檔
放在 D:\Test 下 code裡面會去讀一個txt檔 也放在 D:\Test下
若我直接執行a.exe則不會有問題 用getcwd 查 exe的路徑也是在D:\Test
但若是用vba
r=shell("D:\Test\a.exe",1)
去執行時 發現 用 getcwd 查 exe 的路徑被換到 C:\..\My Documents
這是電腦設定問題嗎??????
有啥辦法嗎??
又不想把路徑寫死....
幫幫我吧!!!!!!!!!
--
水海科技系統研發驗證工作室 ASP.NET Web News Reader 0.2.0 UTF-8 Beta
新聞群組 RSS網誌發布測試中 http://tlcheng.no-ip.com/News/rss2.aspx
網站地圖 http://tlcheng.no-ip.com/wwwmap.htm
流域防洪/水資源運用/徐昇網/玫瑰圖/語音通訊 文章與程式
Basic/Fortran/Windows API/.Net/輔助說明檔 原始碼、文章與討論
--
ASPNET News http://tlcheng.no-ip.com/News/ | http://tlcheng.twbbs.org/News/
RSS 2.0 http://tlcheng.no-ip.com/News/rss2.aspx?Action=List&Newsgroup=tw.bbs.comp.language
愛情絕緣體
2006-01-20 00:55:26 UTC
Permalink
excel跟exe跟txt檔都存在 D:\Test下面


而且我發現 不管把資料夾換到哪

只要用SHELL去執行EXE目錄都會跑到MY DOCUMENTS

救救我吧!!!!!
Post by 璉璉
Shell 並不會幫你變更工作路徑,Office 文件在開啟的時候,文件的路徑為預設路徑。
所以若你需要變更路徑時,你可以用 CurDir 變更,若是磁碟不同時,須先變更工作磁碟。
在 我的文件夾 時,有可能你的 Office 文件存於我的文件夾,或是新文件還沒存檔過,新文件預設位置會在我的文件夾內。
於 news:4MF4L5%24l9_%40bbs.wretch.cc 發表
小妹用c++寫的一個code 產生的一個 a.exe檔
放在 D:\Test 下 code裡面會去讀一個txt檔 也放在 D:\Test下
若我直接執行a.exe則不會有問題 用getcwd 查 exe的路徑也是在D:\Test
但若是用vba
r=shell("D:\Test\a.exe",1)
去執行時 發現 用 getcwd 查 exe 的路徑被換到 C:\..\My Documents
這是電腦設定問題嗎??????
有啥辦法嗎??
又不想把路徑寫死....
幫幫我吧!!!!!!!!!
--
夫兵者不祥之器物或惡之故有道者不處君子居則貴左用兵則貴右兵者不祥之器非君子
之器不得已而用之恬淡為上勝而不美而美之者是樂殺人夫樂殺人者則不可得志於天下
矣吉事尚左凶事尚右偏將軍居左上將軍居右言以喪禮處之殺人之眾以哀悲泣之戰勝以
喪禮處之道常無名樸雖小天下莫能臣侯王若能守之萬物將自賓天地相合以降甘露民莫
之令而自均始制有名名亦既有夫亦將知止知止可以不殆譬道之在天203.66.182.241海
璉璉
2006-01-20 01:34:07 UTC
Permalink
前面不是說了嗎?
Shell 不會幫你換工作目錄。
若要自己變更工作目錄,請在 VBA 中使用 CurDir
於 news:4MFPLE%24gXq%40bbs.wretch.cc 發表
excel跟exe跟txt檔都存在 D:\Test下面
而且我發現 不管把資料夾換到哪
只要用SHELL去執行EXE目錄都會跑到MY DOCUMENTS
救救我吧!!!!!
Post by 璉璉
Shell 並不會幫你變更工作路徑,Office 文件在開啟的時候,文件的路徑為預設路徑。
所以若你需要變更路徑時,你可以用 CurDir 變更,若是磁碟不同時,須先變更工作磁碟。
在 我的文件夾 時,有可能你的 Office 文件存於我的文件夾,或是新文件還沒存檔過,新文件預設位置會在我的文件夾內。
於 news:4MF4L5%24l9_%40bbs.wretch.cc 發表
小妹用c++寫的一個code 產生的一個 a.exe檔
放在 D:\Test 下 code裡面會去讀一個txt檔 也放在 D:\Test下
若我直接執行a.exe則不會有問題 用getcwd 查 exe的路徑也是在D:\Test
但若是用vba
r=shell("D:\Test\a.exe",1)
去執行時 發現 用 getcwd 查 exe 的路徑被換到 C:\..\My Documents
這是電腦設定問題嗎??????
有啥辦法嗎??
又不想把路徑寫死....
幫幫我吧!!!!!!!!!
--
水海科技系統研發驗證工作室 ASP.NET Web News Reader 0.2.0 UTF-8 Beta
新聞群組 RSS網誌發布測試中 http://tlcheng.no-ip.com/News/rss2.aspx
網站地圖 http://tlcheng.no-ip.com/wwwmap.htm
流域防洪/水資源運用/徐昇網/玫瑰圖/語音通訊 文章與程式
Basic/Fortran/Windows API/.Net/輔助說明檔 原始碼、文章與討論
--
ASPNET News http://tlcheng.no-ip.com/News/ | http://tlcheng.twbbs.org/News/
RSS 2.0 http://tlcheng.no-ip.com/News/rss2.aspx?Action=List&Newsgroup=tw.bbs.comp.language
Loading...