保存宏,以便可以更新文件

时间:2019-03-19 13:04:06

标签: excel vba

  • 背景信息-我有两个按钮,两个按钮都运行一组代码。 excel文件具有30列和65,000行。此文件从某个位置导出(.csv),并且每两周更新一次。

  • 目标-使用与旧名称相同的名称保存新文件。这样就可以更新值,按钮仍然可用,并且代码可以在新文件中再次运行。

  • ,即在导出新文件时,该文件保存在运行用户路径代码 INDEPENDENT 的文件夹中。即Pathname = ActiveWorkbook.Path & "C:\Users\"this can be any name"\Desktop\Downloads\"

尝试

  1. 使用了与上一个问题“在多个excel文件上运行相同的excel宏”类似的代码,并进行了修改以适合我的代码。没有成功

    Sub ProcessFiles()
        Dim Filename, Pathname As String
        Dim wb As Workbook
    
        Pathname = ActiveWorkbook.Path & "\Files\"
        Filename = Dir(Pathname & "*.xls")
        Do While Filename <> ""
            Set wb = Workbooks.Open(Pathname & Filename)
            DoWork wb
            wb.Close SaveChanges:=True
            Filename = Dir()
        Loop
    End Sub
    
    1. 当前,当我尝试第一种方法时,我仅将(旧文件+ VBA)替换为(新文件)。

请注意,解决方案不必是VBA代码。如果只是将文件保存在存储宏并更新值的新方法中,我会很高兴的。

1 个答案:

答案 0 :(得分:0)

我以前的答案的示例:

change = tk.Button(frame,
               text="Change",
               command=on_change)

def on_change():
    griffo.db_name = 'database2.db'

请注意,我在文件末尾使用Sub SaveThisAs() Dim wb As Workbook: Set wb = ThisWorkbook 'ThisWorkbook referrs to the workbook the macro is ran from Dim PathToSaveTo As String PathToSaveTo = wb.Path & "\" PathToSaveTo = PathToSaveTo & Format(Now, "ddMMyyyy_hhmmss") & wb.Name 'Lets add a timestamp 'Do your macro stuff here '.... 'Save the workbook wb.SaveAs PathToSaveTo End Sub 来保存......第一次运行此方法就可以了,但是第二次运行时名称会变长...并且更长...更长。根据需要使用适当的文件名进行调整。