Vba 可以用文件重命名文件夹吗?
可以用文件重命名文件夹吗? 下面的代码创建一个文件夹并将附件保存在其中。之后,我需要重命名这个文件夹的日期是在第二行的文件保存。 我可以检索日期,但代码无法重命名文件夹Vba 可以用文件重命名文件夹吗?,vba,outlook,Vba,Outlook,可以用文件重命名文件夹吗? 下面的代码创建一个文件夹并将附件保存在其中。之后,我需要重命名这个文件夹的日期是在第二行的文件保存。 我可以检索日期,但代码无法重命名文件夹 Option Explicit Public Sub SalvarAnexo(Item) Dim Atmt As Attachment Dim FileName As String Dim objFSO As Object Dim objFile As Object Dim strDa
Option Explicit
Public Sub SalvarAnexo(Item)
Dim Atmt As Attachment
Dim FileName As String
Dim objFSO As Object
Dim objFile As Object
Dim strData As String
Dim caminhoTemp As String
Dim caminhoFinal As String
Dim caminhoFtp As String
'MsgBox "Mensagem Recebida de " & Item.Sender & "!"
caminhoTemp = "C:\temp"
caminhoFinal = "C:\"
For Each Atmt In Item.Attachments
If Right$(Atmt.FileName, 3) = "TXT" Then
Set objFSO = CreateObject("Scripting.FileSystemObject")
FileName = caminhoTemp & "\" & Atmt.FileName
Atmt.SaveAsFile FileName
Set objFile = objFSO.OpenTextFile(FileName, 1)
strData = objFile.ReadLine
strData = objFile.ReadLine
strData = Left$(strData, 10)
strData = Replace(strData, "-", "")
caminhoFinal = caminhoFinal & strData
Name caminhoTemp As caminhoFinal
objFile.Close
MsgBox "Your date is " & strData
End If
Next Atmt
End Sub
oldname文件夹中的文件应全部关闭
根据下面的Tomalak编辑,谢谢!:
您可以获取文件夹对象并将其重命名:
Set fdr = objFSO.GetFolder("oldname")
fdr.Name = "newname"
oldname文件夹中的文件应全部关闭
旧名是Fullsplec
newname就是这个名字
oldname文件夹中的文件应全部关闭
根据下面的Tomalak编辑,谢谢!:
您可以获取文件夹对象并将其重命名:
Set fdr = objFSO.GetFolder("oldname")
fdr.Name = "newname"
oldname文件夹中的文件应全部关闭
旧名是Fullsplec
newname就是名称。您可以直接执行此操作,而无需使用
在您的特定情况下,由于已调用FileScriptingObject来打开文本文件,因此不会进行大量保存。您可以直接执行此操作,而无需使用FileScriptingObject的开销
在您的特定情况下,由于已调用FileScriptingObject来打开文本文件,因此不会进行大量保存。首先,您需要知道目标文件夹c:\已经存在。第二个有效的方法是使用空名称重命名文件夹。试着用手在代码中做你刚刚尝试做的事情,你会发现问题所在。您真正想做的是将临时文件夹的内容移到最终位置。请先关闭该文件,然后重命名该文件夹。首先,您需要知道目标文件夹c:\已经存在。第二个有效的方法是使用空名称重命名文件夹。试着用手在代码中做你刚刚尝试做的事情,你会发现问题所在。您真正想做的是将临时文件夹的内容移动到最终位置。首先关闭文件,然后重命名文件夹。我想您也可以简单地设置。我不必这样做,因为文档中说我可以;我使用的是:Set fdr=objFSO.GetFoldercaminhoTemp fdr.Name=strData,但返回的错误为access@caezar如果fdr对象正常,并且strData未违反命名规则,则您可能无权在要重命名的文件夹所在的位置重命名该文件夹。或者是完全不同的东西。。。有一点是肯定的:上面的代码在我的机器上对我有效。我想你也可以简单地设置。我不必这样做,因为文档上说我可以;我使用的是:Set fdr=objFSO.GetFoldercaminhoTemp fdr.Name=strData,但返回的错误为access@caezar如果fdr对象正常,并且strData未违反命名规则,则您可能无权在要重命名的文件夹所在的位置重命名该文件夹。或者是完全不同的东西。。。有一点是肯定的:上面的代码在我的机器上对我有效。如果OP不一定要使用FSO进行重命名,这是最简单的解决方案。如果OP不一定要使用FSO进行重命名,这是最简单的解决方案。
Name "C:\oldname" As "C:\newname"