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会关闭原来的并自动打开新的。
您的代码应如下所示:
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
我正在 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会关闭原来的并自动打开新的。
您的代码应如下所示:
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