gpt4 book ai didi

excel - 使用 Excel VBA 禁止在给定文件夹中保存

转载 作者:行者123 更新时间:2023-12-02 11:21:31 24 4
gpt4 key购买 nike

我创建了一个包含许多 .xls 和 .xlsm 工作表的文件夹,该文件夹将分发给公司中的许多人,为了不改变文件夹中工作表的完整性,我想禁止在其中保存任何文件在此文件夹中,保存的所有填充都必须“另存为”在与项目文件夹不同的位置。这是迄今为止发现的内容。

干杯

  Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
' Following line will prevent all saving
Cancel = True
' Following line displays the Save As Dialog box
If SaveAsUI Then SaveAsUI = True
' How do I forbid the folders path ???
End Sub

最佳答案

我想出了一种方法。也许有人可以给你更好的答案。

它将文件保存到您的默认位置,该位置设置为 C:\MyFiles 并在后面显示一个消息框以及文件的路径。

仅当您不想询问用户将文件保存在何处并将其保存在静态位置,然后通知他/她文件保存到的位置时,才使用此代码。

以下代码位于此处(ThisWorkbook 对象模块)

enter image description here

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

If SaveAsUI Then
Cancel = True
Else

Dim path As String
path = "C:\MyFiles\"

If Len(dir(path, vbDirectory)) = 0 Then
MkDir path
End If

Me.SaveAs Filename:=path & Me.Name, _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

MsgBox "This file has been saved in " & path & Me.Name
Cancel = True
Exit Sub
End If
End Sub

更新!

如果您的所有用户都使用 Windows 7,则您可以将路径更改为

path = "C:\Users\" & Environ$("username") & "\Desktop\"

这将转到每个用户的桌面,无论他们的用户名是什么。 Environ$("username") 函数返回当前登录的用户名。

关于excel - 使用 Excel VBA 禁止在给定文件夹中保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18889394/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com