繁体   English   中英

Excel VBA代码-如何对创建的文件调用某些操作

[英]Excel VBA Code - How to call certain actions to files created

我正在Excel VBA中编写一段代码,其中需要创建一个宏,该宏允许用户单击ActiveX按钮,然后将文件保存到指定位置。 创建此新文件后,我要进行编码,以便新文件(已成功保存在备用指定位置)没有ActiveX命令按钮。 另外,一旦从原始文件中单击按钮,我就想以某种方式关闭主文件,并使新保存的文件自动打开。 请有人帮忙吗?

到目前为止的代码:

Sub CommandButton1_Click()

    ActiveSheet.Copy
    Dim SaveName As String
    SaveName = ActiveSheet.Range("C1").Text
    With ActiveWorkbook
    .SaveAs "File path Specified" & _
    SaveName & ".xls"
    .Close 0
    End With

End Sub

我的第一个解决方案(取决于您的实际需求)如下:

首先,您将需要以下内容:

Me.SaveCopyAs "<full_Path>"

在此处查看更多信息: https : //msdn.microsoft.com/en-us/library/office/ff835014.aspx

这将使用您想要的任何名称将文件的副本创建到指定路径。 在执行此操作之前,您可以隐藏按钮,然后使用“另存为副本”在按钮隐藏的情况下进行保存。

最后,如果您要关闭原件并打开副本,则必须给副本一个不同的名称。 然后打开新文件并关闭原始文件。

您的代码应类似于以下内容:

Sub CommandButton1_Click()
    ActiveSheet.Copy
    Dim SaveName As String
    SaveName = ActiveSheet.Range("C1").Text
    With ActiveWorkbook
        .Worksheets("<your_worksheet>").CommandButton1.visible = False
        .SaveCopyAs "File path Specified" & SaveName & ".xls"
    End With
    Workbooks.Open ("File path Specified" & SaveName & ".xls")
    Workbooks("<Original_name.xlsm>").close False
End Sub

另一个解决方案可能是使用SaveAs保存工作簿。 在此之前保存原始。 隐藏按钮。 saveas将关闭原始文件并自动打开新文件。

您的代码应如下所示:

Sub CommandButton1_Click()
    ActiveSheet.Copy
    Dim SaveName As String
    SaveName = ActiveSheet.Range("C1").Text
    With ActiveWorkbook
        .Save
        .Worksheets("<your_worksheet>").CommandButton1.visible = False
        .SaveAs "File path Specified" & SaveName & ".xls"
    End With
End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM