gpt4 book ai didi

excel - 保存工作簿的 vba 例程没有预期的结果

转载 作者:行者123 更新时间:2023-12-04 22:31:44 26 4
gpt4 key购买 nike

我有一个工作簿,每 4 周更新一次新数据。更新时,它必须以特定名称和特定选项保存。我已经有一个脚本可以为我将工作簿保存到一个新文件中,所以我使用了该脚本并对其进行了修改。

Sub save_workbook_name()
Dim workbook_Name As Variant
Dim location As String

location = "N:\IRi\"
workbook_Name = Application.GetSaveAsFilename

If workbook_Name <> False Then

ActiveWorkbook.SaveAs Filename:=Workbook.Name, WriteResPassword:="TM", FileFormat:=50

End If
End Sub

当我使用此代码并按下按钮时,会出现一个弹出屏幕,询问我要如何保存文件:

enter image description here

但是没有设置文件格式。我在打开保存的文件时注意到设置了打开文件的密码。我自己知道在保存文件时必须添加 .xslb 扩展名,但我不确定是否有任何同事也使用此文件。

当我输入文件名和扩展名时,出现错误:

enter image description here

错误 424:需要对象

enter image description here

我希望保存的选项:
  • 文件类型必须设置为 .xlsb
  • 为了防止保存的副本被更新,我希望使用密码保护保存它以打开

  • 如何使例程已经添加 .xlsb 扩展名,因此只需输入文件名?

    编辑:根据 Marcucciboy2 的回答,我将脚本更改为:
    Sub save_workbook_name()
    Dim workbook_Name As Variant
    Dim location As String

    workbook_Name = Application.GetSaveAsFilename(fileFilter:="Excel binary sheet (*.xlsb), *.xlsb", InitialFileName:="N:\IRi\")

    If workbook_Name <> False Then

    ActiveWorkbook.SaveAs WriteResPassword:="TM", FileFormat:=50

    End If
    End Sub

    现在它非常适合保存。

    enter image description here

    关于此脚本和输入名称的其他问题发布在一个新问题中:
    vba script to save workbook overwrites entered filename

    最佳答案

    我认为问题可能是您没有过滤从 GetSaveAsFilename 收到的文件名。 ,所以试试:

    Application.GetSaveAsFilename(fileFilter:="Excel binary sheet (*.xlsb), *.xlsb")

    关于excel - 保存工作簿的 vba 例程没有预期的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52222323/

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