好像这将是非常简单的事情(可能),但我试图将列的字符串数据,然后通过计算列,全部替换为%20的空间,这样的HTML在工作流生成电子邮件链路实际上将不会在第一空间折断。

例如,我们在我们的源列具有这样的:

文件:/// Z:/数据/这是我们report.rpt

和想在计算列与此落得:

文件:/// Z:/data/This%20is%20our%20report.rpt

已经使用了更换,并提出了一个可怕的超级嵌套替换/ SEARCH版本,但问题还有就是你必须巢每一个潜在的空间,如果你不知道有多少了前面,这不是”吨工作,或将错过一些。

有任何你遇到这种情况和你是怎么处理的呢?

提前感谢!

有帮助吗?

解决方案

据我知道有使用所计算的列的语法没有通用的解决方案。造成这种情况的标准解决方案是使用一个ItemAdded(/ ItemUpdated)事件和初始化从代码的字段值。

其他提示

  

,以便在工作流产生的电子邮件中的HTML链接实际上将不会在第一空间折断。

在浏览器只做这个,如果你有不会封闭的引号链接

如果您用引号括链接,它的是在第一空间隔断

在一个SharePoint式将是:

="""file:///Z:/data/This is our report.rpt"""

监守两个引号是SP逃逸符号来输出报价

可以使用此公式(开始修剪为1,在我的情况是4):

=IF(ISBLANK([EUR Amount]),"",(TRIM(MID([EUR Amount],4,2))&TRIM(MID([EUR Amount],6,2))&TRIM(MID([EUR Amount],8,2))&TRIM(MID([EUR Amount],10,2))&TRIM(MID([EUR Amount],12,2))&TRIM(MID([EUR Amount],14,2)))*1)

我是能够通过使用一系列计算的列来解决这个问题,我的情况。

在所述第一计算列(C1)我进入一个公式来去除第一空间,是这样的:

=IF(ISNUMBER(FIND(" ",[Title])),REPLACE([Title],FIND(" ",[Title]),1,"%20"),[Title])

在所述第二计算的列(C2)我使用:

=IF(ISNUMBER(FIND(" ",[C1])),REPLACE([C1],FIND(" ",[C1]),1,"%20"),[C1]).

在我的情况下,我想编码高达四个空格,所以以相同的方式使用3个计算列(C1,C2,C3),得到了期望的结果。

这是不是使用一个计算列一样高效,但如果SUBSTITUTE不会在您的SharePoint环境中工作,而不能使用的事件处理程序或工作流,它可以提供一个可行的替代方案。

我实际使用稍微不同的公式,但它是一个工作的机器,而我没有在目前访问的,所以我就一把抓起类似S.O.这个公式题。所有的公式,将“%20”替换空间中第一次出现会的工作,关键是要一)确保,如果没有更多的空间在它的公式返回原始的字符串不变,且b)测试,测试,测试。创建您的列表中有您要编码场,加上计算领域的观点,看看你得到你想要的结果。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top