将多个Excel文档中的工作表从“可见”更改为“非常隐藏”

时间:2016-09-02 17:16:35

标签: python excel vba

我需要帮助修改多个文档中的一个工作表,所有文档之间的工作表名称相同,从可见到成为“非常隐藏”。我知道如何在VBA中一次仅为一个文档执行此操作,但我不知道如何对许多人执行此操作。

我需要这样做100多次,所以如果有人知道如何使用VBa或Python编写代码(可能在Python 2中使用“openpyxl”)会很棒吗?

谢谢

1 个答案:

答案 0 :(得分:1)

假设您有一个列表(files),表示100多个文件中每个文件的文件路径。

from win32com import Client
files = ["path/to/file1.xlsx", "path/to/file2.xlsx"] 
xl = client.Dispatch("Excel.Application")

map(hide, files)

xl.Quit()

def hide(file):
    SHEET_NAME = "Sheet1"  # The name of the sheet you want to hide
    wb = xl.Workbooks.Open(file)
    wb.Worksheets(SHEET_NAME).Visible = 2 # xlSheetVeryHidden
    wb.Save()
    wb.Close()

注意:如果您不想直接在.py中明确写入文件列表,则需要一些其他方法来识别它们并将它们读入列表对象。最终,您需要这些文件名的列表,,您需要以某种方式以编程方式派生文件名。