公司有域名 如何做网站,如何免费域名注册,网站插件 wordpress,建立网站费用Zotero 超链接
找了好多原代码#xff0c;最接近能实施的为#xff1a; https://blog.csdn.net/weixin_47244593/article/details/129072589 但是#xff0c;就是向他说的一样会报错#xff0c;我修改了代码#xff0c;遇见报错的地方会直接跳过不执行#xff0c;事后找…Zotero 超链接
找了好多原代码最接近能实施的为 https://blog.csdn.net/weixin_47244593/article/details/129072589 但是就是向他说的一样会报错我修改了代码遇见报错的地方会直接跳过不执行事后找出自己再单独添加较为特殊文章即可代码如下
Public Sub ZoteroLinkCitation()On Error Resume Next Add this line to enable error handlingDim nStart, nEndnStart Selection.StartnEnd Selection.EndApplication.ScreenUpdating FalseDim title As StringDim titleAnchor As StringDim style As StringDim fieldCode As StringDim numOrYear As StringDim pos, n1, n2ActiveWindow.View.ShowFieldCodes TrueSelection.Find.ClearFormattingWith Selection.Find.Text ^d ADDIN ZOTERO_BIBL.Replacement.Text .Forward True.Wrap wdFindContinue.Format False.MatchCase False.MatchWholeWord False.MatchWildcards False.MatchSoundsLike False.MatchAllWordForms FalseEnd WithSelection.Find.ExecuteWith ActiveDocument.Bookmarks.Add Range:Selection.Range, Name:Zotero_Bibliography.DefaultSorting wdSortByName.ShowHidden TrueEnd WithActiveWindow.View.ShowFieldCodes FalseFor Each aField In ActiveDocument.Fields check if the field is a Zotero in-text referenceIf InStr(aField.Code, ADDIN ZOTERO_ITEM) 0 ThenfieldCode aField.Codepos 0Do While InStr(fieldCode, title:) 0n1 InStr(fieldCode, title:) Len(title:)n2 InStr(Mid(fieldCode, n1, Len(fieldCode) - n1), ,) - 1 n1title Mid(fieldCode, n1, n2 - n1)titleAnchor Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(title, , _), , _), :, _), ,, _), -, _), ., _), (, _), ), _), ?, _), !, _)titleAnchor Left(titleAnchor, 40)Selection.GoTo What:wdGoToBookmark, Name:Zotero_BibliographySelection.Find.ClearFormattingWith Selection.Find.Text Left(title, 255).Replacement.Text .Forward True.Wrap wdFindAsk.Format False.MatchCase False.MatchWholeWord False.MatchWildcards False.MatchSoundsLike False.MatchAllWordForms FalseEnd WithSelection.Find.ExecuteSelection.Paragraphs(1).Range.SelectWith ActiveDocument.Bookmarks.Add Range:Selection.Range, Name:titleAnchor.DefaultSorting wdSortByName.ShowHidden TrueEnd WithaField.SelectSelection.Find.ClearFormattingWith Selection.Find.Text ^#.Replacement.Text .Forward True.Wrap wdFindContinue.Format False.MatchCase False.MatchWholeWord False.MatchWildcards False.MatchSoundsLike False.MatchAllWordForms FalseEnd WithSelection.Find.ExecuteSelection.MoveLeft Unit:wdCharacter, Count:1Selection.MoveRight Unit:wdCharacter, Count:posSelection.Find.ExecuteSelection.MoveLeft Unit:wdCharacter, Count:1Selection.MoveRight Unit:wdWord, Count:1, Extend:wdExtendnumOrYear Selection.Range.Text pos Len(numOrYear)style Selection.styleActiveDocument.Hyperlinks.Add Anchor:Selection.Range, Address:, SubAddress:titleAnchor, ScreenTip:, TextToDisplay: numOrYearaField.SelectSelection.style styleSelection.style ActiveDocument.Styles(CitationFormating)fieldCode Mid(fieldCode, n2 1, Len(fieldCode) - n2 - 1)LoopEnd IfNext aFieldActiveDocument.Range(nStart, nEnd).Select
End Sub超链接颜色变化
在这里也给出全盘改变超链接颜色的代码 参考链接如下https://zhuanlan.zhihu.com/p/680291144
Sub CitingColor()For i 1 To ActiveDocument.Fields.Count 遍历文档所有域 Word 自带的交叉引用的域代码起始 4 位是 REF (注意空格) Endnote 插入的引用域代码的起始 14 位是 ADDIN EN.CITE Zotero 插入的引用域代码的起始 31 位是 ADDIN ZOTERO_ITEM CSL_CITATION可根据需求添加其他类型If Left(ActiveDocument.Fields(i).Code, 4) REF Or Left(ActiveDocument.Fields(i).Code, 14) ADDIN EN.CITE Or Left(ActiveDocument.Fields(i).Code, 31) ADDIN ZOTERO_ITEM CSL_CITATION ThenActiveDocument.Fields(i).Select 选中上述几类域Selection.Font.Color wdColorBlue 设置字体颜色为蓝色可改为其他颜色如 RGB(255,0,0)End IfNext
End Sub给doi插入超链接
参考链接
Sub AddHyperlinksToDOIs()Dim doc As DocumentDim rng As RangeDim field As fieldDim doi As StringDim test As StringSet doc ActiveDocumentSet rng doc.RangeWith rng.Find.ClearFormatting.Text doi:*^13.MatchWildcards True.Wrap wdFindStop.Forward TrueDo While .Executerng.MoveEnd wdCharacter, -1doi rng.Textdoi Mid(doi, 6, Len(doi) - 6)rng.Hyperlinks.Add Anchor:rng, Address:https://doi.org/ doi 移动到下一个匹配项rng.Collapse wdCollapseEndrng.MoveStart wdCharacter, 1LoopEnd With
End Sub