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 工作表放入的一些位置,但不是全部。

这样做的正确方法是什么。谢谢你。

4

1 回答 1

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
于 2013-12-15T15:39:11.387 回答