我正在修复某个同事编写的一些代码,并且遇到了这一障碍,即从Sharepoint打开Excel文档,并运行ChangeFileAccess方法将其更改为“读/写”。该方法失败,错误代码为1004。文件将打开,因此到那时为止的所有内容都可以使用。
我不明白为什么它行不通,我希望有人能比我提供更多知识!
为了匿名起见,我删除了文件路径和文档名称。
我使用的是Office 365,以下代码有问题:
Dim ObjFileA, ObjfileB As File
FilePathA = "filepath" & fileName
Set FSO = CreateObject("Scripting.FileSystemObject")
Set App = CreateObject("Excel.Application")
Set ObjFileA = FSO.GetFile(FilePathA)
Set wbA = Workbooks.Open(ObjFileA, False, False)
wbA.Activate
wbA.ChangeFileAccess (xlReadWrite)
Set wbA = Workbooks(fileName)
答案 0 :(得分:1)
您的文件已经已以读写方式打开吗?
我刚刚遇到了与您所描述的问题类似的问题(更改访问方法时出现Err 1004,但是在我的情况下,我试图将访问权限更改为对已经为只读文件的只读访问。)>
经过一些测试,每次尝试调用wkbk.ChangeFileAccess来“更改”访问类型使其与当前访问类型相同时,都会出现错误。
如果您发现工作簿可能已经被读写,那么我建议您更改为:
If wbA.ReadOnly then wbA.ChangeFileAccess (xlReadWrite)