Excel VBA:SaveCopyAs不提供密码保护

Excel VBA:SaveCopyAs不提供密码保护,excel,vba,Excel,Vba,我有一个模板,我将数据复制到其中,然后使用SaveCopyAs将其保存到另一个位置。我想每次都开始添加一个新的。然而,所有发生的是它保存下来,在新的位置没有密码 下面是附加的代码,我之所以使用额外的不必要的。打开是因为我找不到一种方法来做这件事,只是使用SaveCopyAs 以下简单代码适用于您: Sub SaveCopyAs_password() Dim passdate As String Dim wbresults As Workbook passdate =

我有一个模板,我将数据复制到其中,然后使用SaveCopyAs将其保存到另一个位置。我想每次都开始添加一个新的。然而,所有发生的是它保存下来,在新的位置没有密码

下面是附加的代码,我之所以使用额外的不必要的。打开是因为我找不到一种方法来做这件事,只是使用SaveCopyAs


以下简单代码适用于您:

Sub SaveCopyAs_password()

    Dim passdate As String
    Dim wbresults As Workbook

    passdate = "hello"

    FileCopy "R:\Macros\pre\Mealplan.xlsx", "R:\Macros\post\Mealplan.xlsx"

    Set wbresults = Workbooks.Open("R:\Macros\post\Mealplan.xlsx")
    wbresults.SaveAs Password:=passdate

    wbresults.Close

End Sub
另一种方式:
从除宏中使用的2以外的任何其他工作簿中运行此宏。

在不检索返回值时,不要在过程/函数的参数周围使用括号,这只会导致错误。我很确定您无法在Excel中打开两个同名文档,即使它们在不同的文件夹中。请重新阅读您所写的内容,并使用链接填写第一段中缺少的信息/打字错误。不清楚您要添加什么。代码也不清楚。您对wb0和wbT进行了调暗,但在代码中未使用它们。另一方面,wbresults和wb是实例化的,但没有声明。将行选项显式地放在代码页的顶部,以帮助避免可能导致代码不可预测和其他代码不可再现的杂散变量。请编辑以上内容。打开文件不是问题,因为它会保存在新位置,然后打开
Sub SaveCopyAs_password()

    Dim passdate As String
    Dim wbresults As Workbook

    passdate = "hello"

    FileCopy "R:\Macros\pre\Mealplan.xlsx", "R:\Macros\post\Mealplan.xlsx"

    Set wbresults = Workbooks.Open("R:\Macros\post\Mealplan.xlsx")
    wbresults.SaveAs Password:=passdate

    wbresults.Close

End Sub
Sub SaveCopyAs_password()

    Dim passdate As String
    Dim wbresults As Workbook

    passdate = "hello"

    Set wbresults = Workbooks.Open("R:\Macros\pre\Mealplan.xlsx")

    wbresults.SaveAs Filename:="R:\Macros\post\Mealplan.xlsx", Password:=passdate

    wbresults.Close

End Sub