VBA开放日期特定的文件名(基于当前日期)

时间:2018-08-17 00:35:49

标签: word-vba

大家好,我对编码很陌生,但是通过自学,我已经学习或能够通过逆向工程最轻松地弄清楚事情,我已经取得了一些成功,如果这看起来过于简单,我深表歉意,但是我一直找不到任何要转换的相关示例。

我正在尝试在VBA中编写一个代码,该代码根据从当前日期或输入框派生的数组打开并打印一组文件

文件名都是特定于日期的ddmmyyarea1

即180818area1

我需要做的是

获取今天的日期,即18/08/17 +1,将日期设为18/08/18

打开名称为180818area1然后是180818area2的包含该日期的文件,依此类推

我之所以没有要求完整的脚本,是因为我更喜欢通过将基本构建模块放在一起来学习,但是我在上面的这一方面苦苦挣扎

预先感谢

下面是我对代码可能看起来的“估计”,我再次对此很陌生:

Sub BatchPrintWordDocuments()     将objWordApplication变暗为新Word.Application     昏暗的strFile作为字符串     昏暗的strFolder作为字符串

InputBox("Enter the date to print ddmmyy")  
strFolder = file path
strFile = Dir(strFolder & InputBox & Area* vbNormal)

While strFile <> ""
With objWordApplication
.Documents.Open (strFolder & strFile)
End With
strFile = Dir()
Wend

Set objWordApplication = Nothing

结束子

1 个答案:

答案 0 :(得分:0)

您可以尝试一下,您非常亲密。放入您自己的FilePath

Sub BatchPrintWordDocuments()
    Dim objWordApplication As New Word.Application
    Dim strFile As String
    Dim strFolder As String

    Dim strDate As String   '<<< add this and use it
    strDate = InputBox("Enter the date to print ddmmyy")

    strFolder = "C:\donPablo\StackOverFlow\"  '<<< file path, with trailing slash
    strFile = Dir(strFolder & strDate & "Area*.XLS*", vbNormal)

    While strFile <> ""
        With objWordApplication
            .Documents.Open (strFolder & strFile)
            '<<< do your stuff here
            .Documents.Close (False)    '<<< close it, and don't save changes
        End With
        strFile = Dir()
    Wend

    Set objWordApplication = Nothing
End Sub