Excel VBA代码 - 如何调用创建的文件的某些操作
问题描述:
我在Excel VBA中编写了一段代码,其中需要创建一个宏,该宏允许用户单击ActiveX按钮,因此文件是然后保存到指定的位置。一旦创建了这个新文件,我想编写代码,以便新文件(成功保存在备用指定位置)不具有ActiveX命令按钮不存在。另外,一旦从原始文件中点击按钮,我想以某种方式关闭主文件,并将新保存的文件自动打开。请有人可以帮忙吗?Excel VBA代码 - 如何调用创建的文件的某些操作
到目前为止的代码:
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
这将创建一个fi用任何你想要的名字来指定路径。在你做之前,你可以隐藏你的按钮,然后使用保存为副本来隐藏按钮来保存它。
最后如果你想关闭原件并打开副本,那么你必须给复制一个不同的名称。然后打开新文件并关闭原件。
您的代码应与此类似:
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
Blenikos嗨。感谢您的回答。当我使用这个,.CommandButton1.Visible = False的行会返回一个错误,说对象不支持这个属性或方法? – Syed
我还没有测试代码,所以可以propably有一些错误。我需要你的excel文件来测试它。但是,我编辑了我当前的答案,现在它应该可以工作。请让我知道如果它! – Blenikos
嗨Blenikos,在aprt我们有.Worksheets(“”)我需要写我的文件位置和文件名吗?或者只是表格名称? –
Syed