我正在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
答案 0 :(得分:0)
我的第一个解决方案(取决于你真正需要做的事情)如下:
首先你需要这个:
wifi
在此处详细了解:https://msdn.microsoft.com/en-us/library/office/ff835014.aspx
这将使用您想要的任何名称将文件的副本创建到指定的路径。在此之前,您可以隐藏按钮,然后使用另存为副本来保存隐藏按钮。
最后,如果要关闭原件并打开副本,则必须为副本指定其他名称。然后打开新文件并关闭原始文件。
您的代码应该与此类似:
Me.SaveCopyAs "<full_Path>"
另一种解决方案可能是使用SaveAs保存工作簿。在此之前保存原始。隐藏按钮。而saveas将关闭原件并自动打开新原件。
您的代码看起来应该是这样的:
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