从 Word VBA 宏以编辑模式从 SharePoint 打开 Excel 工作簿
Opening an Excel workbook from SharePoint in edit mode from a Word VBA macro
我正在尝试通过 Word 中的 VBA 宏从我公司的 SharePoint 站点以编辑模式打开一个 Excel 工作簿。
我可以打开工作簿,但它始终以只读模式打开,甚至无法进入编辑模式。奇怪的是,在这种情况下通常允许我进入编辑模式的功能区根本没有出现。
我尝试将 ActiveWorkbook.LockServerFile 添加到创建的对象(returns 一个错误)和我尝试打开的工作簿,但它没有改变任何东西。
我还尝试使用以下方式打开它:
Workbooks.Open(Filename:="\filepath\file.xlsm", UpdateLinks:=False, ReadOnly:=True)
,也没用。参数 False
也不起作用。
我在 Word 文档中有一个用户表单,它会自动将输入数据填充到文档中的必要位置,计算付款并将其另存为 pdf。之后,我想在 Excel 文件的底部添加一条记录,用于跟踪生成的文档。所以基本上我想打开 Excel 工作簿并根据我输入到 Word 用户窗体的数据在最后一行之后添加一个新行。
无论我做什么,它总是以只读模式打开,甚至无法手动进入编辑模式。
我怀疑这是我公司的信任中心设置的问题,因为所有内容都被阻止并显示为灰色,我无法弄乱这些设置以查看是否是问题所在。这可能吗?
MSDN Forum 中的这段代码是否打开了您刚刚通过对话框选择的文件?
请确保https://sharepoint.com/team/folder
是好的url
sub tryme()
Dim SummaryWB As Workbook
Dim vrtSelectedItem As Variant
With Application.FileDialog(msoFileDialogOpen)
.InitialFileName = "https://sharepoint.com/team/folder" & "\"
.AllowMultiSelect = False
.Show
For Each vrtSelectedItem In .SelectedItems
Set SummaryWB = Workbooks.Open(vrtSelectedItem)
Next
End With
If SummaryWB Is Nothing then Exit Sub
end sub
如果 MSDN 代码有效,也许您可以试试这个:
Set MyWorkBook = Workbooks.open("https://sharepoint.com/team/folder" & "\" & FileName)
请不要至少 FileName
可以只是工作簿的名称 test.xlsm
或工作簿名称+文件夹 foldername1\foldername2\test.xlsm
正如我在评论中所说,我正在等待您的反馈以建立一个可接受的答案,最诚挚的问候
尝试了很多解决方案,唯一对我成功的是将你的link改编成文件:
从这里(当您通过 SharePoint 中的“复制 link”复制它时):
对此(特别注意“/:x:/r”部分):
https://pmt.sharepoint.com/teams/ClearServiceRus/Teams%20Wiki%20Data/General/Book.xlsx
代码:
URL = "https://pmt.sharepoint.com/teams/ClearServiceRus/Teams%20Wiki%20Data/General/Book.xlsx"
Set wb = Workbooks.Open(URL)
Debug.Print wb.FullName
我正在尝试通过 Word 中的 VBA 宏从我公司的 SharePoint 站点以编辑模式打开一个 Excel 工作簿。 我可以打开工作簿,但它始终以只读模式打开,甚至无法进入编辑模式。奇怪的是,在这种情况下通常允许我进入编辑模式的功能区根本没有出现。
我尝试将 ActiveWorkbook.LockServerFile 添加到创建的对象(returns 一个错误)和我尝试打开的工作簿,但它没有改变任何东西。
我还尝试使用以下方式打开它:
Workbooks.Open(Filename:="\filepath\file.xlsm", UpdateLinks:=False, ReadOnly:=True)
,也没用。参数 False
也不起作用。
我在 Word 文档中有一个用户表单,它会自动将输入数据填充到文档中的必要位置,计算付款并将其另存为 pdf。之后,我想在 Excel 文件的底部添加一条记录,用于跟踪生成的文档。所以基本上我想打开 Excel 工作簿并根据我输入到 Word 用户窗体的数据在最后一行之后添加一个新行。
无论我做什么,它总是以只读模式打开,甚至无法手动进入编辑模式。
我怀疑这是我公司的信任中心设置的问题,因为所有内容都被阻止并显示为灰色,我无法弄乱这些设置以查看是否是问题所在。这可能吗?
MSDN Forum 中的这段代码是否打开了您刚刚通过对话框选择的文件?
请确保https://sharepoint.com/team/folder
是好的url
sub tryme()
Dim SummaryWB As Workbook
Dim vrtSelectedItem As Variant
With Application.FileDialog(msoFileDialogOpen)
.InitialFileName = "https://sharepoint.com/team/folder" & "\"
.AllowMultiSelect = False
.Show
For Each vrtSelectedItem In .SelectedItems
Set SummaryWB = Workbooks.Open(vrtSelectedItem)
Next
End With
If SummaryWB Is Nothing then Exit Sub
end sub
如果 MSDN 代码有效,也许您可以试试这个:
Set MyWorkBook = Workbooks.open("https://sharepoint.com/team/folder" & "\" & FileName)
请不要至少 FileName
可以只是工作簿的名称 test.xlsm
或工作簿名称+文件夹 foldername1\foldername2\test.xlsm
正如我在评论中所说,我正在等待您的反馈以建立一个可接受的答案,最诚挚的问候
尝试了很多解决方案,唯一对我成功的是将你的link改编成文件:
从这里(当您通过 SharePoint 中的“复制 link”复制它时):
对此(特别注意“/:x:/r”部分):
https://pmt.sharepoint.com/teams/ClearServiceRus/Teams%20Wiki%20Data/General/Book.xlsx
代码:
URL = "https://pmt.sharepoint.com/teams/ClearServiceRus/Teams%20Wiki%20Data/General/Book.xlsx"
Set wb = Workbooks.Open(URL)
Debug.Print wb.FullName