通过SharePoint中的VBA编辑Word文档 [英] Editing Word documents through VBA in SharePoint
问题描述
I拥有带有大量命令按钮的word文档(使用模板中引用的点击事件的VBA代码)。
每个按钮都有一个不同的功能,但他们都分享的是,他们将打开其他文件,编辑它们,然后保存/关闭。这一切都发生在我们的企业
网络共享存储上,除了单击命令按钮之外没有任何用户的干预。
我们正在迁移到基于云的SharePoint解决方案,这意味着vba代码现在必须从存储在SharePoint上的文档而不是从
网络执行上述操作存储。
我是SharePoint的新手,我正在尝试调整代码以使用SharePoint,但我遇到了一些我似乎无法解决/理解的问题。
到目前为止,我已经能够使用以下内容打开,编辑和保存/关闭文档
Dim docPath As String
docPath = ActiveDocument.Path&" /workingpaper.docx"
docPath = ActiveDocument.Path & "/workingpaper.docx"
Documents.Open(docPath)
Documents.Open (docPath)
使用文献(QUOT; workingpaper")。表(4)     &NBSP ;                
With Documents("workingpaper ").Tables(4)
。细胞(1,1)。选择 
.Cell(1, 1).Select
选择.TypeText" test"
Selection.TypeText "test"
以
结束文档(" workingpaper")。关闭(wdSaveChanges)
Documents("workingpaper ").Close (wdSaveChanges)
问题是,当上面运行时,理论上有人可以签出相同的文档进行编辑。因此,我认为最好在SharePoint中查看
文档而不是打开它,但这是我遇到一些问题的地方。
如果我使用
Documents.CheckOut docPath
< p style ="line-height:normal; margin-bottom:0pt">
文档在屏幕上闪烁然后消失。然后,无论我如何尝试并引用文档,我总是得到一个错误的文件名错误,就像一旦它被检出它可以
不再找到它。我当然无法在屏幕上看到它。
我正在测试的当前SharePoint解决方案是2013年(迁移到2016年的云端),我知道该文档仅标记为在SharePoint中签出,而不是本地的
正在下载的版本。
我的问题是我用
documents.checkout (File path)
如何引用/调用此文档以便我可以使用它来编辑内容,重新检查等等(检入功能也失败,
坏文件名称错误)?
推荐答案
请使用以下代码。
Sub CheckInOut(docCheckOut As String)
If Documents.CanCheckOut(docCheckOut) = True Then
Documents.CheckOut docCheckOut
Else
MsgBox "You are unable to check out this document at this time."
End If
End Sub
Sub CheckDocInOut()
Call CheckInOut (docCheckIn:="https://servername/workspace/report.doc")
End Sub
更多信息请点击此处:
https://docs.microsoft.com/en-us/office/vba/api/word.documents.checkout
最诚挚的问候,
丹尼斯
这篇关于通过SharePoint中的VBA编辑Word文档的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!