当前位置: 首页 > wzjs >正文

江西省建设监理协会网站百度关键词怎么刷上去

江西省建设监理协会网站,百度关键词怎么刷上去,自己如何做购物网站,郑州市城乡建设局网站Zotero以其丰富的插件而闻名,使用起来十分的带劲,最重要的是它是免费的、不卡顿,不像某专业软件。 然而Zotero在word插入参考文献时,无法为参考文献添加超链接,这是一个不得不提的遗憾。 不过,有大佬已经…

Zotero以其丰富的插件而闻名,使用起来十分的带劲,最重要的是它是免费的、不卡顿,不像某专业软件。

然而Zotero在word插入参考文献时,无法为参考文献添加超链接,这是一个不得不提的遗憾。

不过,有大佬已经写出了基于Word VBA语言的代码,可以为Zotero在Word中的参考文献一键增加超链接!源代码如下所示:

Word: Possibility to link references and bibliography in a document? - Zotero ForumsZotero is a free, easy-to-use tool to help you collect, organize, cite, and share research.icon-default.png?t=N7T8https://forums.zotero.org/discussion/comment/148343/#Comment_148343

参考教程:

Zotero-word中引用跳转到参考文献/建立超链接-引用格式文章浏览阅读7.4k次,点赞10次,收藏25次。该方法根据标题将作者日期或数字样式引用链接到他们的参考文献条目。https://blog.csdn.net/weixin_47244593/article/details/129072589

不过,这个代码在运行的时候,我遇到了一些严重的问题:

-1. 当一个位置同时引用的参考文献>2,就只能为前两个文献添加超链接,且第3个以及之后的参考文献。

-2. 引用了同一个作者的两篇及以上的参考文献,只能给第一个文献添加超链接,第二个就无法添加。

-3. 部分参考文献添加超链接失败,提示Add BookMarks失败。

作为对VBA语言一窍不通的我,硬着头皮啃了一下源代码,对于问题1和问题2,终于发现了问题所在:在同一位置的参考文献添加链接时,原代码无法正常更新下一处要添加超链接的位置,最关键的是其中pos变量。为此,我增加了对同一位置参考文献的不同引用的定位代码,然后将定位结果复制给pos变量,让代码循环执行时可以正确找到应该添加参考文献的位置

对于第3个问题,有些人说是文献原始的标题有误,我照着这个思路对代码进行了调试,然而事情并不是这样,有的文章标题里面就是有一些特殊符号,比如'#',':'。那么是否可能是这些特殊符号会带来bug?事实证明,会的。原代码的titleAnchor在生成短标题的时候就是用Replace把这些特殊符号以及空格全部用'_'代替,然后Add为Bibliography的BookMark。在Bibliography中可以有这些特殊符号,但是作为BookMark,就不能有这些特殊符号。原代码没有将'#'替换为'_',因此增加一下就解决了。

修改后的代码如下:

Public Sub ZoteroLinkCitation()
Dim nStart&, nEnd&
nStart = Selection.Start
nEnd = Selection.End
Application.ScreenUpdating = False
Dim title As String
Dim titleAnchor As String
Dim style As String
Dim fieldCode As String
Dim numOrYear As String
Dim pos&, n1&, n2&ActiveWindow.View.ShowFieldCodes = True
Selection.Find.ClearFormatting
With Selection.Find.Text = "^d ADDIN ZOTERO_BIBL".Replacement.Text = "".Forward = True.Wrap = wdFindContinue.Format = False.MatchCase = False.MatchWholeWord = False.MatchWildcards = False.MatchSoundsLike = False.MatchAllWordForms = False
End With
Selection.Find.Execute
With ActiveDocument.Bookmarks.Add Range:=Selection.Range, name:="Zotero_Bibliography".DefaultSorting = wdSortByName.ShowHidden = True
End With
ActiveWindow.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 = 0Paper_i = 1Do 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(Replace(title, " ", "_"), "#", "_"), "&", "_"), ":", "_"), ",", "_"), "-", "_"), ".", "_"), "(", "_"), ")", "_"), "?", "_"), "!", "_")titleAnchor = Left(titleAnchor, 40)Selection.GoTo What:=wdGoToBookmark, name:="Zotero_Bibliography"Selection.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 With'查找引文,BibliographySelection.Find.Execute'选中对应引文的这一段Selection.Paragraphs(1).Range.SelectWith ActiveDocument.Bookmarks.Add Range:=Selection.Range, name:=titleAnchor.DefaultSorting = wdSortByName.ShowHidden = TrueEnd WithaField.SelectSelection.Find.ClearFormattingIf pos = 0 Then' 初始化起始位置和数组startPosition = 1ReDim commaPositions(1 To 1)' 查找逗号的位置(前提是作者和年份之间采用英文逗号分隔符,否则要改为其他符号)DocommaPosition = InStr(startPosition, Selection, ",")If commaPosition > 0 Then' 将逗号的位置添加到数组commaPositions(UBound(commaPositions)) = commaPosition' 更新起始位置,以便下一次查找startPosition = commaPosition + 1ReDim Preserve commaPositions(1 To UBound(commaPositions) + 1)End IfLoop While commaPosition > 0End If' 输出记录的逗号位置'For j = 1 To UBound(commaPositions)'Debug.Print "Comma found at position: " & commaPositions(j)'Next jWith 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 = commaPositions(Paper_i) - 1Paper_i = Paper_i + 1style = Selection.style'插入超链接ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:="", SubAddress:=titleAnchor, ScreenTip:="", TextToDisplay:="" & numOrYearaField.SelectSelection.style = style'如果为文中的参考文献引用设定了格式,那么需要取消下面的注释'Selection.style = ActiveDocument.Styles("CitationFormating")fieldCode = Mid(fieldCode, n2 + 1, Len(fieldCode) - n2 - 1)LoopEnd If
Next aField
ActiveDocument.Range(nStart, nEnd).Select
End Sub

http://www.dtcms.com/wzjs/414696.html

相关文章:

  • 信誉好的集团网站建设天津seo培训
  • 在哪里找做网站的智能网站推广优化
  • 网线制作usb延长线整站优化报价
  • 怎么做诈骗网站网站搜索排名优化怎么做
  • 湖北建设执业注册管理中心网站短期的技能培训有哪些
  • 东莞网站优化案例首页关键词排名
  • 网站备案需要准备什么材料营销云
  • 广州做响应式网站多少钱百度统计工具
  • 哪家网站开发好网站收录查询站长工具
  • 赤峰市做网站多少钱竞价排名名词解释
  • 怎么做网络直播卖衣服的网站石家庄百度快速排名优化
  • 网站建设案例价格建一个网站大概需要多少钱
  • 网站商城前台模板免费下载佛山做优化的公司
  • 制作视频模板的软件淘宝关键词怎么优化
  • 哔哩哔哩网站电子商务建设网站制作的流程
  • 技术支持 优府网络太原网站建设百度手机怎么刷排名多少钱
  • 建设银行 杭州市公积金管理中心网站网站技术外包公司
  • 汉口做网站的公司最近三天的新闻大事
  • 嘉兴市南湖区建设局网站湖州网站建设制作
  • 自己做网站要多少钱网站查询平台
  • 咖啡网站建设it培训机构
  • 泰州哪家网做网站一个产品的宣传和推广方案
  • 企业crm系统成都优化网站哪家公司好
  • 轻淘客cms建站教程新网站快速排名软件
  • 如何导入wordpress沈阳沈河seo网站排名优化
  • 微信小程序模板网站软件排名工具
  • discuz导入wordpress长沙seo优化服务
  • 上市公司网站分析百度网址安全中心
  • 汕头建站免费模板网站搜索排名优化软件
  • 六安市网站制作百度营业执照怎么办理