word打印时自动编号_word保存时,如何在文件名上自动添加保存的日期+编号

原问题:word保存时,如何在文件名上自动添加保存的日期+编号
分类:软件 > 最后更新时间:【2016-12-12 15:09:43】
问题补充:

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:\合同单\”)的同名文件是否存在,如果不存在,则退出循环,最后一次的编号文件名即为新文件名。  注:怎么改都说重复提交了,没办法只好这样表述了。
    最佳答案由网友  .旧巷.  提供
  • 公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
    11

    分享到:

    其他回答

    暂无其它回答!

      推荐