在被要求迁移到SharePoint之前,我使用.xlsm文件集合来设置项目团队来管理项目。我的项目管理器文件包含一个宏,该宏将转到指定的文件夹并为所有当前项目文件创建超链接。我已经在SharePoint上保存了.xlsm文件的集合,但当我运行下面的宏(我在这里找到 - 谢谢!)时,我收到了与"设置xFolder = xFSO.GetFolder相关的错误(XPATH)"线。任何帮助都会很棒。我已经阅读了几篇可能有答案的帖子,并对代码进行了几次调整,没有运气。
Sub Create_Hyperlinks_for_all_Current_Projects()
Range("B8:D38").Clear
MsgBox "Once you click OK, an explorer box will appear. Select the folder
containing all the CSTPs and then click OK again. HINT: The folder
containing all the CSTPs should be in the same folder this document was in
and should be called ''CSTPs''. Links to all CSTPs will then appear in the
white box on the Manager Menu."
Dim xFSO As Object
Dim xFolder As Object
Dim xFile As Object
Dim xFiDialog As FileDialog
Dim xPath As String
Dim I As Integer
Set xFiDialog = Application.FileDialog(msoFileDialogFolderPicker)
With xFiDialog
.InitialFileName = ThisWorkbook.Path
End With
If xFiDialog.Show = -1 Then
xPath = xFiDialog.SelectedItems(1)
End If
Set xFiDialog = Nothing
If xPath = "" Then Exit Sub
Set xFSO = CreateObject("Scripting.FileSystemObject")
Set xFolder = xFSO.GetFolder(xPath)
For Each xFile In xFolder.Files
I = I + 2
ActiveSheet.Hyperlinks.Add Cells(I + 6, 2), xFile.Path, , , xFile.Name
Next
End Sub
答案 0 :(得分:0)
希望以下说明对您有所帮助。 他们总结了几周无奈的结果。
如果您使用的是SP365, 然后是文件系统对象 根本无法再很好地工作。
我有数百个依赖于FSO的宏。 在我的组织迁移到SP365之前,所有这些工作都很有效:o(
现在它们仅在我手动单击时起作用 首先在SP中打开“打开资源管理器”按钮。
Opening Explorer为Win Explorer提供访问SP所需的权限。 反过来,这又为FSO提供了访问SP所需的权限。
但是...就我而言... FSO只能工作一段时间。
我的第一个解决方法...
我推出了一个原型应用程序,该应用程序使用宏来实现自动化 打开IE,打开Win Explorer并初始化FSO的权限
在我的机器上,一切运转良好,大约一个小时, 然后某种超时使我回到了第一方。
其他机器上的同事经历了一系列FSO行为。 一切正常。必须每30秒重新运行一次连接宏。 根本没有任何作用。
然后我花时间尝试更新宏以将其作为网络驱动器连接到SP。 同样,这是我使用多年的过程,直到迁移到SP365。 再次说明,成功连接到SP365似乎完全取决于机器。
最后...关于我自己的要求...
我的解决方法是创建一个列出所有文件的SP视图。 然后使用SP中的“导出到Excel”选项创建Excel数据查询。 然后将查询复制到一个我称为Config.xlsx的Excel文件中。 然后,在每次需要列表时,都使用Excel RefreshAll更新文件列表。
它不是很优雅...但是,它可以工作; o)
就像我说的那样。...希望对您/某人有帮助。
如果需要任何后续建议,请随时在LinkedIn上进行连接。
彼得
链接为DrPeterEHSmee的名称