我在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
谢谢。
答案 0 :(得分:2)
您可能希望使用CustomProperties
。
首先,创建一个CustomProperty
:
ActiveWorkbook.CustomDocumentProperties.Add "Saved", False, msoPropertyTypeNumber, 0
当用户保存表单时,将CustomProperty
的值更改为1
(将以下代码添加到SaveAsButton()
):
ActiveWorkbook.CustomDocumentProperties("Saved").Value = 1
检查ActiveWorkbook.CustomDocumentProperties("Saved").Value = 0
是否为打开表单的方法。
答案 1 :(得分:2)
如果您在最终工作簿中不需要任何代码,则只需保存为.xlsx,从而删除所有vb组件