2013-12-15 100 views
2

我正在將Excel文件轉換爲文本文件的宏,我希望文本文件的位置與Excel工作表的位置相同。如何設置由宏創建的文件的位置

我的代碼是:

Dim strPath As String 
strPath = "MyFileName.dat" 
Dim fnum As Integer 
fnum = FreeFile() 
Open strPath For Output As #fnum 

'my code 

Close #fnum 

當始終運行它轉到文件。我試過「../MyFileName.dat」,它與我嘗試將excel工作表放在一起的一些位置一起工作,但沒有與所有位置一起工作。

什麼是正確的做法。謝謝。

回答

3

假設有問題的工作簿是ActiveWorkbook,這將工作。它得到了工作簿的完整路徑與FullName和工作簿的替換成數據文件的名稱:

Sub test() 
Dim wb As Excel.Workbook 
Dim strPath As String 

Set wb = ActiveWorkbook 
strPath = Replace(wb.FullName, wb.Name, "MyFileName.dat") 
Dim fnum As Integer 
fnum = FreeFile() 
Open strPath For Output As #fnum 

'my code 

Close #fnum 
End Sub 
+1

+ 1 :)有一點要注意的字雖然。如果'Activeworkbook'沒有保存,那麼'.dat'文件將被保存在'CurDir' –

+0

完美!非常感謝你! –