无法在读/写模式下打开工作簿

时间:2019-06-24 12:10:47

标签: excel vba

我试图将不同的宏应用于文件夹中存在的每个excel文件,并向其中添加几张纸,为此,我遍历了文件夹中的所有文件并逐一打开它们。

但是,我偶然发现了一个问题,即我打开的每个工作簿都处于只读模式,因此无法在修改后保存它。

将ReadOnly参数设置为False,将IgnoreReadOnlyRecommended参数设置为True不会更改任何内容,并且该工作簿仍将作为只读工作簿打开。

Sub RunOnAllFilesInFolder()

    Dim folderName As String, fileName As String
    Dim wb As Workbook

    folderName = "H:\mypath"
    fileName = Dir(folderName & "\*.xlsx")
    Debug.Print (fileName)

    Do While fileName <> ""

        Set wb = Workbooks.Open(fileName:=folderName & "\" & fileName, ReadOnly:=False, IgnoreReadOnlyRecommended:=True)

        MsgBox (wb.ReadOnly)

        wb.Activate

        Call my_sub 

        Application.DisplayAlerts = False

        wb.SaveAs (folderName & "\" & fileName)
        wb.Close SaveChanges:=False
        Set wb = Nothing 'clean up

        Application.DisplayAlerts = True

        Debug.Print "Processed " & folderName & "\" & fileName
        fileName = Dir()

    Loop

End Sub

谁会知道为什么该文件以只读文件形式打开(尽管只是一个普通的excel文件),还是以其他方式修改这些文件并保存更改?

0 个答案:

没有答案