Word中的超链接似乎太长了 [英] Hyperlinks in Word seem to be too long

查看:1226
本文介绍了Word中的超链接似乎太长了的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨!

我的代码,一个应用程序外接程序,正在设置相对超链接(到PDF文件) Word文件。例如:


  • C:\ FolderA包含Doc1.docx。
  • C:\ FololdA\FolderB包含LinkedFile.pdf
  • Doc1.docx中设置的超链接地址是"FolderB\LinkedFile.pdf"

鼠标悬停时, StatusBar不显示相对,但是显示绝对超链接,而在UNC中,不显示映射的驱动器。所以我认为这是确定的长度。

长达258个字符的超链接(UNC长度)在Word和IE中均可使用。

一个字符更长,我在跟踪链接时遇到以下错误:


  • Word 2010和2013:"发生意外错误。"
  • Word 2016:"找不到Internet服务器或代理服务器。"
  • 当我通过IE使用此UNC打开PDF时,只要其长度<= 258个字符,它就能正常工作。一个字符更长,PDF没有打开(没有错误消息,IE只是没有反应)。

我还注意到,当要显示的文本与地址相同时,259个字符超链接可以正常工作。

现在我打算在设置链接之前检查超链接长度,以避免以后的困难。在我做出错误的假设之前:


  1. 哪个长度决定了超链接的最大长度?它真的是UNC吗?或者它是另一个价值? (我有点怀疑,因为"ok-UNC"是258个字符长,而不是256个。但也许这是因为反斜杠?)
  2. 如果是UNC:如何在运行时获取链接文件的UNC以计算其字符?

任何建议都是非常感谢。

Any suggestion is highly appreciated.

谢谢和亲切的问候

Nora

推荐答案

您好
nora.sailer,

UNC的限制是32 K字符。

The limit of UNC is 32 K Characters.

使用 \\?\ UNC前缀以突破"DOS模式"对于路径。

Use the \\?\ UNC prefix to break out of "DOS mode" for paths.

Windows API有许多函数也具有Unicode版本,允许扩展长度路径,最大总路径长度为32,767个字符。这种类型的路径由反斜杠分隔的组件组成,每个组件都在GetVolumeInformation函数的lpMaximumComponentLength参数中返回
的值(此值通常为255个字符)。要指定扩展长度路径,请使用" \\?\ "字首。例如," \\?\ D:\very long path "。

The Windows API has many functions that also have Unicode versions to permit an extended-length path for a maximum total path length of 32,767 characters. This type of path is composed of components separated by backslashes, each up to the value returned in the lpMaximumComponentLength parameter of the GetVolumeInformation function (this value is commonly 255 characters). To specify an extended-length path, use the "\\?\" prefix. For example, "\\?\D:\very long path".

参考:

C#:如何绕过完全限定路径的260个字符限制?

命名文件,路径和命名空间

问候

Deepak


这篇关于Word中的超链接似乎太长了的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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