我试图将excel文件保存到一个特定的路径。所以基本上,当我点击按钮时,我创建了一个文件夹,并希望将文件保存在该文件夹中。创建的文件夹以当前月份为名称。我试图保存到当前月份文件夹中。
'Create folder as Month Name. Save filename as date inside "month".
Dim sDate As String = DateTime.Now.ToString("yyyy-MM-dd") & "_" & DateTime.Now.ToString("HH-mm-ss")
Dim sMonth As String = DateTime.Now.ToString("MMMM")
Dim sFolder = Application.StartupPath & "\Resources\Excel\"
My.Computer.FileSystem.CreateDirectory(sFolder & Format(sMonth))
Dim sfinal = Path.Combine(sFolder, sMonth)
xlSh.SaveAs(sfinal & Format(sDate) & ".xlsx")
xlApp.Workbooks.Close()
xlApp.Quit()
实际上,这段代码没有给予我任何错误。但是它没有创建一个名为“March”〈-current month的文件夹并保存在其中,而是将文件保存在\Excel\中,并在同一位置创建文件夹。
5条答案
按热度按时间qlfbtfca1#
您可以使用以下函数(类似于. NET System. IO. Path. Combine)
希望这有帮助!
4ioopgfo2#
经过长时间的痛苦折磨,我终于做到了!显然我错过了一个“\”,因为“sMonth”成为动态名称,后来我想使用它作为路径,并保存文件在该文件夹中。我需要简单地把“\”后的sMonth,告诉它保存在它里面。
在我意识到这一点之前...我已经尽可能地分解、简化了代码,这样我就可以在逻辑上将各个部分连接起来。我最终得到的是一些略有不同的东西。现在SaveAS可以将文件正确地保存在新文件夹中。
谢谢你的帮助。
clj7thdc3#
你看起来并没有真正设置创建目录的保存路径。相反,我相信你在xlSh.SaveAs(sFinal & Format(sDate)&“.xlsx”)中将月份附加到文件名的开头。基本上(尽管我不确定具体的命令),你需要在创建文件夹后导航到它。* 可能 * 格式为
尽管我不知道我写的那个特定命令是否真的存在。
hof1towb4#
对于那些想知道我在做什么的人,这里是完整的潜艇。如果有人需要类似的东西。谢谢支持。问题已经解决。
myzjeezk5#
我发现这个方法容易得多。
创建一个
FileSystemObject
并使用BuildPath
方法,如下所示:收件人:
ActiveDocument.Path
是Word中的当前目录,不能在Excel或其他中使用。对于Excel,它将是ActiveWorkbook.Path
我的观点是一些方法或命名空间是特定于应用程序的。