VBA: SaveCopy, как не защита паролем - PullRequest
0 голосов
/ 17 июня 2019

У меня есть шаблон, в который я копирую данные, затем использую SaveCopyAs, чтобы сохранить его в другом месте. Я хочу начать добавлять его каждый раз. Однако все, что происходит, это сохраняет его в новом месте без пароля.

Ниже приведен код, причина, по которой я использую лишнее (ненужное) .Open из-за того, что я не смог найти способ сделать это, просто используя SaveCopyAs

Option Explicit 
Sub SaveCopyAs_password()

    Dim passdate As String
    Dim wb, wbresults As Workbook

    passdate = "hello"

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

    Set wbresults = Workbooks("Mealplan")
    wbresults.SaveCopyAs ("R:\Macros\post\Mealplan.xlsx")

    Workbooks.Open ("R:\Macros\post\Mealplan.xlsx")
    Workbooks("Mealplan.xlsx").Activate

    Set wb = ActiveWorkbook
    ActiveWorkbook.SaveAs Password:=passdate

    wb.Close

End Sub

1 Ответ

1 голос
/ 17 июня 2019

Этот простой код будет работать для вас:

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

Запустите этот макрос из любой другой книги, кроме 2, используемой в макросе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...