vba - 如何将附件文件保存到目录并保留文件扩展名?
问题描述
我想使用新文件名将附件保存到目录中。以下代码重命名文件,但失去了它们的扩展名。这些文件是图像文件。我怎么过去?
Dim strFileName As String
Dim rsParent As DAO.Recordset2
Dim rsChild As DAO.Recordset2
Dim subField As DAO.Field2
Dim strPath As String
strPath = "C:\Images"
If Len(Dir("C:\Images", vbDirectory)) = 0 Then
MkDir "C:\Images"
End If
Set rsParent = CurrentDb.OpenRecordset("tblDonations", dbOpenSnapshot)
With rsParent
If .RecordCount > 0 Then .MoveFirst
While Not .EOF
Set rsChild = rsParent("Image").Value
If rsChild.RecordCount > 0 Then rsChild.MoveFirst
While Not rsChild.EOF
Set subField = rsChild("FileData")
strFileName = strPath & "\" & .Fields("ItemNo")
If Len(Dir(strFileName)) <> 0 Then Kill strFileName
subField.SaveToFile strFileName
rsChild.MoveNext
Wend
.MoveNext
Wend
End With
subflied.Close
Set subfield = Nothing
rsChild.Close
Set rsChild = Nothing
rsParent.Close
Set rsParent = Nothing
解决方案
将文件扩展名附加到strFileName
. 从中提取rsChild("FileType")
。
strFileName = strPath & "\" & .Fields("ItemNo") & "." & rsChild("FileType")
推荐阅读
- c++ - 在 Visual Studio 2019 C++ 中读取 txt 文件
- mysql - MySQL 通过第一个表中的 2 列 id 连接 3 个表
- javascript - 使用索引拆分解析文本流日志
- python - 在同一个服务中运行 celery 和 aiohttp
- swift - 从 Swift 函数返回混合值类型时遇到问题
- java - 是否可以重写代码,使时间复杂度为 O(nlogn)?
- c++ - 将 ROOT 与 CMake 集成
- python - 将多分辨率图像馈送到神经网络 Pytorch
- wordpress - WordPress NGINX 服务器上的 Yoast XML 站点地图
- python - 没有重复字符的最长子字符串 - 代码在运行期间有效,但在提交相同的测试用例时失败