2

我在 Excel 2010 中创建了一个简单的电子表格,其中包含一个在电子表格打开时加载的表单。员工填写所需的表单数据并使用 SaveAs 方法按下“保存”按钮宏。

我的问题是是否可以禁用已保存副本中的表单?原因是我想避免在我们的簿记部门打开副本查看数据时加载表单。

为了澄清这就是我的vba代码的方式

Sub SaveAsButton()
Dim applicationUserName As String
Dim saveLocation As String
Dim fileName As String
Dim weekNo As String
Dim year As String

weekNo = ThisWorkbook.Sheets("Service").Range("M4").Value
Debug.Print (weekNo)
year = ThisWorkbook.Sheets("Service").Range("R4").Value
Debug.Print (year)
applicationUserName = Application.UserName
Debug.Print (applicationUserName)
saveLocation = "w:\Service Users\" & applicationUserName & "\Service\"
Debug.Print (saveLocation)
fileName = "Service" & "-" & weekNo & "-" & year & "-" & applicationUserName
Debug.Print (fileName)
fileName = Replace(fileName, " ", "")
Debug.Print (fileName)

ThisWorkbook.SaveAs (saveLocation & fileName)

End Sub

谢谢你。

4

2 回答 2

2

您可能想要使用CustomProperties它。

首先,创建一个CustomProperty

ActiveWorkbook.CustomDocumentProperties.Add "Saved", False, msoPropertyTypeNumber, 0

当用户保存表单时将的值更改为CustomProperty1将以下代码添加到SaveAsButton()):

ActiveWorkbook.CustomDocumentProperties("Saved").Value = 1

将检查 if 添加ActiveWorkbook.CustomDocumentProperties("Saved").Value = 0到打开表单的方法中。

于 2013-06-05T10:10:36.210 回答
2

如果您在最终工作簿中不需要任何代码,您可以简单地保存为 .xlsx,从而删除所有 vb 组件

于 2013-06-05T10:46:05.127 回答