这不是危机,因为脚本实际上运行得很好,但是我需要在办公室范围内实现它,我希望这个问题会让技术娴熟的人更加困惑。
以下内容旨在取代我们使用的常用引文,以及可以找到它们的网站链接。因此,当用户点击按钮时,对策略AP& P-X-A-1-100的引用自动成为APP-X-A-1-100_issuance.shtml的链接。
问题是,只有在后台打开Word文档时它才有效。如果Word未打开,我会收到以下三个错误之一:“远程服务器计算机不存在或不可用”或“自动化错误:远程调用过程失败”或“ActiveX组件无法创建对象”。如果连续尝试三次,我可以得到这三个的任何排列。我从来没有像这样的旋转错误。
知道为什么要运行Word需要吗?
Sub CitationPolicy()
Dim myInspector As Outlook.Inspector
Dim myObject As Object
Dim myItem As Outlook.MailItem
Dim rngStory As Word.Range
Dim myDoc As Word.Document
Dim mySelection As Word.Selection
Dim strItem As String
Dim strItem2 As String
Dim strLink As String
Set myInspector = Application.ActiveInspector
Set myObject = myInspector.CurrentItem
Set myDoc = myInspector.WordEditor
Set mySelection = myDoc.Application.Selection
For Each rngStory In ActiveDocument.StoryRanges
With mySelection.Find
.Text = "AP&P-*-[0-9]{3}"
.MatchWildcards = True
.Replacement.Text = ""
.Wrap = wdFindContinue
While mySelection.Find.Execute
strItem = mySelection.Text
strItem2 = Replace(strItem, "AP&P", "APP")
mySelection.Hyperlinks.Add Anchor:=mySelection.Range, _
Address:="http://www.oursite.com/" & strItem2 & "_issuance.shtml", _
TextToDisplay:=strItem
Wend
End With
Next rngStory
End Sub
答案 0 :(得分:1)
那是因为您正在引用WORD应用程序。 Outlook使用Word引擎作为文字编辑器,但必须将其引用为MailItem.GetInspector.WordEditor。否则,您将被迫创建Word应用程序,或者仅在单词应用程序正在运行时才能工作。
也许看看这个:msdn.microsoft.com/en-us/library/dd492012(v = office.12).aspx
希望这有帮助。