帮酷LOGO
0 0 评论
  • 显示原文与译文双语对照的内容
文章标签:WORD  文件  Processors  hyperlinks  files  显示  处理器  Word Processor  

问题:

在我的工作中,我经常发送以各种词处理器创建的文章,我在 Word 2013中打开和编辑。 然而,compatibility,当然它们并不能很好地结合在一起。

没有重大的格式化,但我已经在这些文章中看到了主要的。持久的问题。

  • 一个人在页面( 苹果机) 中写入并保存为. docx. 文件中的超链接总是带下划线,但从不以蓝色显示,因为它在Word中发生: 我还注意到,如果要添加一个链接到由她创建的文件,它会显示为黑色带下划线的文本。

  • 另一个人将文件作为. rtf 发送- 不确定是什么程序,而是在Mac上。 他的文件中的超链接 do have与文本的其余部分的格式不同。 只有当你在单词中you你才能看到那里有一个链接。 viewed 2013,查看时,超链接和普通文本相同。 有趣的是,在Gmail预览中,这些文件中的链接显示为( 蓝色带下划线),所以我一直在使用。 这个人已经尝试用. docx 保存,但是超链接根本没有在转换过程中存在。

  • 是否有办法让我在收到这些文件时自动更改这些文件,这些文件在不同的颜色和带下划线的情况下正常出现?

    案例 #1 是熊,但 #2 一直是痛苦的一点。

    案例 #2 ( 只包含一个超链接)的示例文件: http://s000.tinyupload.com/index.php?file_id=45065577867642123191


回答 1:

我已经研究过这个示例文件,我想我已经理解了问题的root: RTF格式具有超链接字段但没有超链接样式。 只有更多进化的文档格式具有这种样式: DOC,DOCX和 DOCM。

RTF文档中的超级链接字段定义正确,但使用的是普通样式而不是超链接样式。 不幸的是,Word无法自动更正这个问题。

我用来更正示例文件的解决方案是:

  • 将RTF文件保存为 DOCM,这样它将具有超链接样式
    ( DOCM与DOCX相同,只是允许使用 MACROS )
  • 运行VBA宏,将所有超链接字段的样式设置为超链接
  • 下面列出了所使用的VBA宏:

    
    Sub hyper()
    
    
    For Each oHyperlink In ActiveDocument.Hyperlinks
    
    
     oHyperlink.Range.Style = ActiveDocument.Styles("Hyperlink")
    
    
    Next oHyperlink
    
    
    ActiveDocument.Range.Fields.Update
    
    
    End Sub
    
    
    
    

    这里解决方案的优点是它将真实超链接样式分配给所有超链接字段。 这样做比只做外观更改,比如字体颜色和下划线。


回答 2:

如果所有超链接实际上是超链接( 不只是文本),那么

Fret我的朋友

10个简单步骤等待你。

尝试这个:

  • 在要查看( 这将转换并显示所有的超链接,不用担心) 更改的文档中按 Alt+F9 键。
  • Ctrl+H 打开 Find and Replace
  • Find 框中键入 ^d hyperlink
  • 移动光标并选择 Replace with 框,但不键入任何内容。
  • 点击 Replace with 字段下面的More 按钮。
  • 点击下面的Format 按钮,你刚刚显示的选项。
  • 点击 Style
  • 从列表( 在键盘上按 H 键可以更容易地找到它) 中选择 Hyperlink 并单击 OK
  • 点击 Replace All 然后看 ! 一切都完成了。
  • 关闭 Find and Replace 窗口并按 Alt+F9 键。
  • 提示:如果不希望每次对文档执行这里操作,则可以创建宏函数并将它的放置在功能区上。 只需点击鼠标即可。

    希望有帮助。


回答 3:

对于注释( 因为它没有经过良好的测试,而且可能不会做你想做的事情) 来说太大。

如果自动套用格式没有足够的( 根据我们在评论中的谈话),我认为你将需要对每个超链接做一个公平的数量,例如

  • 确保已经将它的识别为超链接( 在这种情况下,如果使用 Alt-F9,你应该能够看到 { 超链接 } 字段代码)
  • 将超链接字符样式应用于超链接字段的结果
  • 为超链接字段结果应用字符格式,以修复强制超链接样式可以执行的损坏

如果导入的文本包含许多超链接,那么这些可以能非常繁琐。

它将只检测单词认为是超链接的东西。

如果可能的话,请在第一个实例中将任何导入的文本作为单独的文档打开,然后运行这里代码。 这应该会减少不良的副作用。

超链接字符样式的事情是,它应用可以能不具有相同属性的"默认段落字体"( 比如 )。 size 等等 ) 作为现有文本。 即使你修改样式以使用"底层属性",也可能会更改文本大小等。 这里我要看的是在超链接中第一个字符的属性,然后在应用超链接样式之后将它的应用到整个显示文本。

但是,如果你将自己的段落样式应用到导入的文本,那么使用超级链接样式的文本可能会。

如果你需要在文档中的其他"stories"( 如文本框。页眉/页脚 等等 ) 中查找超链接,那么你肯定需要更多。


Private Type AutoFormatOptions


 bAutoFormatApplyBulletedLists As Boolean


 bAutoFormatApplyFirstIndents As Boolean


 bAutoFormatApplyHeadings As Boolean


 bAutoFormatApplyLists As Boolean


 bAutoFormatApplyOtherParas As Boolean


 bAutoFormatDeleteAutoSpaces As Boolean


 bAutoFormatMatchParentheses As Boolean


 bAutoFormatPlainTextWordMail As Boolean


 bAutoFormatPreserveStyles As Boolean


 bAutoFormatReplaceFarEastDashes As Boolean


 bAutoFormatReplaceFractions As Boolean


 bAutoFormatReplaceHyperlinks As Boolean


 bAutoFormatReplaceOrdinals As Boolean


 bAutoFormatReplacePlainTextEmphasis As Boolean


 bAutoFormatReplaceQuotes As Boolean


 bAutoFormatReplaceSymbols As Boolean


End Type


Sub fixUpHyperlinks()



Dim afo As AutoFormatOptions



Dim f As Word.Font



Dim h As Word.Hyperlink


' Save existing autoformat options



With Application.Options


 afo.bAutoFormatApplyBulletedLists =. AutoFormatApplyBulletedLists


 afo.bAutoFormatApplyFirstIndents =. AutoFormatApplyFirstIndents


 afo.bAutoFormatApplyHeadings =. AutoFormatApplyHeadings


 afo.bAutoFormatApplyLists =. AutoFormatApplyLists


 afo.bAutoFormatApplyOtherParas =. AutoFormatApplyOtherParas


 afo.bAutoFormatDeleteAutoSpaces =. AutoFormatDeleteAutoSpaces


 afo.bAutoFormatMatchParentheses =. AutoFormatMatchParentheses


 afo.bAutoFormatPlainTextWordMail =. AutoFormatPlainTextWordMail


 afo.bAutoFormatPreserveStyles =. AutoFormatPreserveStyles


 afo.bAutoFormatReplaceFarEastDashes =. AutoFormatReplaceFarEastDashes


 afo.bAutoFormatReplaceFractions =. AutoFormatReplaceFractions


 afo.bAutoFormatReplaceHyperlinks =. AutoFormatReplaceHyperlinks


 afo.bAutoFormatReplaceOrdinals =. AutoFormatReplaceOrdinals


 afo.bAutoFormatReplacePlainTextEmphasis =. AutoFormatReplacePlainTextEmphasis


 afo.bAutoFormatReplaceQuotes =. AutoFormatReplaceQuotes


 afo.bAutoFormatReplaceSymbols =. AutoFormatReplaceSymbols


End With


On Error GoTo cleanup



' set everything the way we want



With Application.Options


 ' all false


. AutoFormatApplyBulletedLists = False


. AutoFormatApplyFirstIndents = False


. AutoFormatApplyHeadings = False


. AutoFormatApplyLists = False


. AutoFormatApplyOtherParas = False


. AutoFormatDeleteAutoSpaces = False


. AutoFormatMatchParentheses = False


. AutoFormatPlainTextWordMail = False


. AutoFormatPreserveStyles = False


. AutoFormatReplaceFarEastDashes = False


. AutoFormatReplaceFractions = False


 ' except this one


. AutoFormatReplaceHyperlinks = True


. AutoFormatReplaceOrdinals = False


. AutoFormatReplacePlainTextEmphasis = False


. AutoFormatReplaceQuotes = False


. AutoFormatReplaceSymbols = False


End With



With ActiveDocument



 ' Apply the selected formats


. Kind = wdDocumentNotSpecified


. Content.AutoFormat



 ' Now apply the Hyperlink style to all Hyperlink field result ranges



 For Each h In. Hyperlinks


 With. Range.Fields(1).Result


 If. Characters.Count> = 1 Then


 ' Remove the following line if the Hyperlink style works for you


 Set f =. Characters(1).Font.Duplicate


 ' Apply the Hyperlink style


. Style = ActiveDocument.Styles(wdStyleHyperlink).NameLocal


 ' Remove the following 2 lines if the Hyperlink style works for you


 Set. Font = f


 set f = Nothing


 End If


 End With


 Next



End With



cleanup:


' restore the original settings



With Application.Options


. AutoFormatApplyBulletedLists = afo.bAutoFormatApplyBulletedLists


. AutoFormatApplyFirstIndents = afo.bAutoFormatApplyFirstIndents


. AutoFormatApplyHeadings = afo.bAutoFormatApplyHeadings


. AutoFormatApplyLists = afo.bAutoFormatApplyLists


. AutoFormatApplyOtherParas = afo.bAutoFormatApplyOtherParas


. AutoFormatDeleteAutoSpaces = afo.bAutoFormatDeleteAutoSpaces


. AutoFormatMatchParentheses = afo.bAutoFormatMatchParentheses


. AutoFormatPlainTextWordMail = afo.bAutoFormatPlainTextWordMail


. AutoFormatPreserveStyles = afo.bAutoFormatPreserveStyles


. AutoFormatReplaceFarEastDashes = afo.bAutoFormatReplaceFarEastDashes


. AutoFormatReplaceFractions = afo.bAutoFormatReplaceFractions


. AutoFormatReplaceHyperlinks = afo.bAutoFormatReplaceHyperlinks


. AutoFormatReplaceOrdinals = afo.bAutoFormatReplaceOrdinals


. AutoFormatReplacePlainTextEmphasis = afo.bAutoFormatReplacePlainTextEmphasis


. AutoFormatReplaceQuotes = afo.bAutoFormatReplaceQuotes


. AutoFormatReplaceSymbols = afo.bAutoFormatReplaceSymbols


End With



' Application.Options.AutoFormatApplyBulletedLists


' Selection.Document.Kind = wdDocumentNotSpecified


' Selection.Range.AutoFormat


End Sub






文章标签:文件  files  PROC  WORD  显示  处理器  超链接  Processors  

Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语