【问题标题】:How to save files to the location where the original file is in using vba?如何使用vba将文件保存到原始文件所在的位置?
【发布时间】:2016-04-06 17:52:25
【问题描述】:

我正在编写一个简单的宏来执行以下操作: 1.删​​除所有格式 2.取消隐藏所有隐藏列 3.保留四个指定选项卡:“Forms”、“Fields”、“DataDictionaries”和“DataDictionaryEntries” 4. 将文件(带有这四个选项卡)保存在原始文件所在的位置。

这是我的代码:

Sub removeformat()

Dim sheetlist As Variant
Dim sheet As Variant
sheetlist = Array("Forms", "Fields", "DataDictionaries", "DataDictionaryEntries")

For Each sheet In sheetlist
    Sheets(sheet).Activate
    Sheets(sheet).Cells.Select
    Selection.ClearFormats
    Sheets(sheet).Cells(1, 1).Select
    Sheets(sheet).Columns("A:IV").Hidden = False

Next sheet

Sheets(Array("Forms", "Fields", "DataDictionaries", "DataDictionaryEntries")).Copy
ActiveWorkbook.SaveAs Filename:="File to Upload", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
ActiveWindow.Close

End Sub

问题是第四步。它不会保存到原始文件位置,而是保存到 excel 默认位置。你们能帮我解决这个问题吗?非常感谢!

【问题讨论】:

    标签: vba excel macros


    【解决方案1】:

    如果您想保存在与 ActiveWorkbook 相同的位置,则由 ActiveWorkBook.Path 给出

    ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.Path & "\" & "File to Upload", _
                          FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    

    【讨论】:

    • 感谢您的帮助。那我应该把 SaveAs 改成 Path 吗?
    • 您好 Tim Williams,我尝试了您的代码,但是,它向我显示:运行时错误:MS Excel 无法访问该文件。我做错了吗?
    • ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.Path & "\" & "要上传的文件", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False ActiveWindow.Close
    • 您要将文件保存在哪里 - “原始文件位置”到底是什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多