如何导出到我们在 excel 中使用 vba 开始的同一网络驱动器?



这是我在stackoverflow的第一篇文章,但我感谢我只是在搜索时得到的所有帮助。唉,我找不到下一个问题的答案,可能是因为我不知道该用什么词。

这是我的困境,然后我将发布代码。

在我们流程的这一部分中:

  1. 我们编辑一个.xlsx文件,
  2. 然后将其导出为.csv
  3. 然后将其保存到.xlsx所在的同一目录中。

我们使用共享驱动器,其中包含两个映射的网络驱动器(每个映射驱动器用于一组不同的客户端)。

我创建了一个宏来查看 Excel 如何对其进行编码(见下文),但每次我们编辑文件时,位置都会更改,因为它是不同的作业或不同的客户端。 这是宏"关闭文件"。

宏观

Sub CloseFile()
'
' CLOSEFILE Macro
' CLOSES THE FILE IN THE SAME LOCATION AS THE XLS...HOPEFULLY
'
' Keyboard Shortcut: Ctrl+Shift+I
'
ChDir _
**"Z:@Client JobsHouse13579Folder 3"**
ActiveWorkbook.SaveAs fileName:= _
**"Z:@Client JobsHouse13579Folder 313579.stage.csv"** _
, FileFormat:=xlCSV, CreateBackup:=False
End Sub
End of Macro

关于如何将 csv 导出到编辑.xlsx时启动的同一目录的任何建议?

波多黎各

就像蒂姆在评论中提到的那样,你不需要CHDIR

这是你正在尝试的吗?这会将 csv 文件保存到 Excel 文件所在的同一文件夹中。

Sub CloseFile()
Dim sPath As String, NewFileName As String
'~~> This will get the path where this excel file resides
sPath = ThisWorkbook.Path
'~~> Check if the right most character is ""
'~~> If not then add it
If Right(sPath, 1) <> "" Then sPath = sPath & ""
NewFileName = sPath & "13579.stage.csv"
ThisWorkbook.SaveAs Filename:=NewFileName, FileFormat:=xlCSV
End Sub

感谢您的帮助。 这段代码做了我想要的一切。我在最后添加了"关闭文件"选项:

子关闭文件() 使用活动工作簿 .另存为文件名:=左(.FullName, InStrRev(.全名,"."))& "csv", FileFormat:=xlCSV 结尾为活动工作簿.关闭 假结束子

最新更新