word打印时自动编号_word保存时,如何在文件名上自动添加保存的日期+编号
Sub 我的宏()
Dim myfilename As String
myfilename = Format(Date, "yyyy/mm/dd", vbSunday, vbUseSystem)
myfilename = myfilename + ".doc"
ChangeFileOpenDirectory "D:\合同单\"
ActiveDocument.SaveAs FileName:=myfilename, FileFormat:=wdFormatDocument, _
LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword _
:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
False
End Sub
你好,在这个宏里只有保存了一个文件,若我在点保存能不能在让它自己编号在存呢
例如 16-12-01-1
16-12-01-2
16-12-01-3
16-12-01-4
同一天时间我要点保存很多文件,但你的宏只能保存最后一个文件并且文件还是最早那个不变。
最佳答案
'16-12-01-1....4的假设,获得不重复的新编号文件名。供参考。
Set fs = CreateObject("Scripting.FileSystemObject")
i = 0
Do
i = i + 1
PathName = "D:\合同单\" & "16-12-01-" & i & ".doc"
Loop Until fs.FileExists(PathName) = False
另,"yyyy/mm/dd"应改为"yyyy-mm-dd"吧,否则,文件名非法了。
追问:
谢谢你的回帮答,没相到这么长时间还有人回应,难得,非常感谢。在冒昧的问下,那个日期能变吗如“16-12-01”那是今天的日期,到明天呢,我又想它变成“16-12-02”了。我弄了半天都没整明白的。在线期待,谢谢
本是提供一个参考的。改一下,就符合你的要求了。这二句:myfilename = Format(Date, "yyyy/mm/dd", vbSunday, vbUseSystem) myfilename = myfilename + ".doc" 用上次发你的替换,但最后二句需改成: myfilename = Format(Date, "yy-mm-dd") & -i & ".doc" Loop Until fs.FileExists("D:\合同单\" & myfilename) = False 原理:根据系统日期得到当天的编号文件名,然后依据偏号文件名,循环判断指定路径下(如“D:\合同单\”)的同名文件是否存在,如果不存在,则退出循环,最后一次的编号文件名即为新文件名。 注:怎么改都说重复提交了,没办法只好这样表述了。
其他回答
暂无其它回答!