通过SharePoint中的VBA编辑Word文档 [英] Editing Word documents through VBA in SharePoint

查看:110
本文介绍了通过SharePoint中的VBA编辑Word文档的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆