2017-04-23 61 views
-1

是的,這是一個有趣的。我有一個啓動.exe的vba scrip,這個.exe是一個寫入文件的程序。這些文件都在同一個目錄中,它們都使用當前目錄作爲讀/寫/啓動的輸入和輸出。 .exe寫入當前目錄很好,但是當我通過shell啓動它時,它會寫入我的文檔。我真的不知道爲什麼這樣做,我只知道它不應該。流寫入我的文檔時從遠程訪問vba的shell遠程啓動

回答

0

假設包含VBA代碼MSACCESS數據庫是在包含EXE文件同一目錄下,你可以改變當前目錄是通過添加以下行VBA代碼:

ChDir Left(CurrentDB.Name, InstrRev(CurrentDB.Name, "\") - 1) 

這應該在Shell聲明之前的某處完成。


如果數據庫與EXE不在同一目錄中,則可能必須對路徑進行硬編碼。如果,例如,您Shell命令是目前類似

Shell "C:\abc\def\xyz.exe" 

那麼你可以使用


最好的解決辦法,雖然,如果你有機會爲EXE的代碼,是將EXE更改爲從與EXE本身位於同一目錄中的文件讀取/寫入,而不是從「當前」目錄中讀取/寫入。