创建命令按钮并向其添加预先编写的代码

时间:2014-11-26 12:25:58

标签: excel-vba vba excel

我需要办公室2010年以下条件的VBA代码

我正在为报告生成制作模板,其中模板以.xls格式保存.eg。 shift_A.xls 在特定时间间隔之后,任务计划将运行该模板,并将以.xlsx格式的其他名称保存它,例如.Shift_A_26-Nov.xlsx

现在我需要一个宏来创建一个“关闭命令按钮”到新生成的文件ie.Shift_A_26-Nov.xlsx中,并自动将代码(“application.close”)写入其中。 我确实有代码用其他名称保存该模板,但需要一个代码来创建“关闭命令按钮”并将代码写入其中。

请帮我解决这个问题。

Dim i As Integer
Dim projname As String
Dim timestamp As String
Dim mypath As String
Dim myfilename As String
Dim Ws As Worksheet
Dim temptimestamp As String

Sub autorun()
    ActiveWorkbook.Save
    Application.DisplayAlerts = False

    projname = "SHIFT_A"
    temptimestamp = Worksheets(1).Cells(1, 2).Text
    dateformat
    For Each Ws In Sheets
        Ws.Activate
        copy_pastevalues
    Next Ws

    Worksheets(1).Select
    Range("A1").Select
    mypath = "C:\IA REPORT ARCH\SHIFT_A"
    ActiveWorkbook.SaveAs Filename:=mypath + "\" + timestamp + "_" + projname, 
    FileFormat:=xlOpenXMLWorkbook
    APPLICATION.QUIT

End Sub

Sub dateformat()
    timestamp = Format(temptimestamp, "dd-mmm-yy")
End Sub

Sub copy_pastevalues()
    Cells.Select
    Selection.Copy
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub

这是我用于报告模板的自动保存

1 个答案:

答案 0 :(得分:0)

您无法在.xlsx文件中保存宏。你需要.xlsm,所以替换

FileFormat:= xlOpenXMLWorkbook

的FileFormat:= xlOpenXMLWorkbookMacroEnabled