【问题标题】:Hyperlink in Excel from csv both in english and frenchExcel中的超链接来自英语和法语的csv
【发布时间】:2018-03-13 12:05:46
【问题描述】:

我正在 R 中构建一个表,并将其保存在 csv 文件中。该表是为一些实际使用Excel 打开它的用户制作的。该表有一个带有超链接的字段。我希望 Excel 检测链接并允许用户直接单击它以在浏览器中打开它。这通常很容易,this link 解释说你只需要在你的字符串之前添加'=HYPERLINK('。然而,这并不适用于所有语言。 Excel 是用法语或英语进行不同编码的奇怪行为。就我而言,用户可以同时使用法语或英语 Excel,从而使此解决方案无法正常工作。

这是一个可复制的例子:

# prepare the data
field1 <- 1:4
link <- c("www.google.com", "www.duckduckgo.com", "www.yahoo.com", "www.altavista.com")

# English solution
dd_en <- data.frame(field1, link = paste0('=HYPERLINK("', link, '")'))
write.table(dd_en, "Y:/temp/tb_link_en.csv", quote=F, sep=";", col.names = T, row.names = F)

如果我在法语 Excel 中打开,我会得到:

# french solution
dd_fr <- data.frame(field1, link = paste0('=LIEN_HYPERTEXTE("', link, '")'))
write.table(dd_fr, "Y:/temp/tb_link_fr.csv", quote=F, sep=";", col.names = T, row.names = F)

这一次,我在法语 Excel 中得到:

有没有办法有一个通用的解决方案?

【问题讨论】:

  • 有兴趣使用 Excel VBA 方法吗??
  • 不是真的,我是一名 R 编码员,我已经很久没有接触过 VBA 并且构建表格的整个脚本已经完成,这是唯一需要修复的事情......跨度>

标签: r excel csv


【解决方案1】:
  • 通用解决方案 1 - 构建两个 csv 文件 - 一个用于法语版本,一个用于英语版本。然后就好了。

  • 通用解决方案 2 - 仅以一种语言构建一个 csv 文件。在支持该语言的 Excel 中打开文件。然后使用另一种语言将 Excel 文件(不是 CSV)发送给人们。它会起作用,因为 Excel 会负责将公式翻译成当地语言。

【讨论】:

  • 解决方案 1 不是解决方案...但是,解决方案 2 更有希望。我试过了,它有效。它需要更多步骤和软件切换,这很糟糕,但至少它可以工作。我希望某种通用函数总是被 excel 检测为超链接...我正在尝试将表格直接保存在 excel 文件中以节省额外的步骤,但到目前为止它还没有工作.. . 我会调查更多。
  • @Bastien - 实际上第一个解决方案是更好的解决方案。你只需要找到一种方法来Replace 和=Hyperlink 和=Lien_Hypertexte。它可以通过任何编程语言完成 - 打开 csv,使用替换选项并关闭它。
【解决方案2】:

您可以通过编程方式确定系统语言,然后使用适当的功能。

一种方法是通过(在 Excel 中)检索以下值来检索 Excel 的确切语言(因为可以安装多个语言包):

Application.LanguageSettings.LanguageID(msoLanguageIDUI)

...例如,英语是 1033。

或者,您可以检索 Windows LCID(有几种方法)。

重要相关链接:

编辑:

我不确定这个插件是否有用,但我想我也会传递它。

多语言公式翻译插件

一个本地化的 Excel 插件,可将公式和函数翻译成多种语言。您有法语版的 Excel,而您的同事或朋友有荷兰语? 这个优雅而简单的自动检测插件不再有问题。

目前支持 12 种语言:(英语、荷兰语、德语、法语、意大利语、西班牙语、葡萄牙语、丹麦语、瑞典语、挪威语、芬兰语和俄语)。支持所有 Excel 函数和(宏)命令的 99.9%,包括分析工具包的那些。

它自 2005 年以来一直没有更新,因此它可能已经过时,但您可以通过 source here 查看它。

【讨论】:

  • 我认为这不切实际,因为我正在构建 csv 并将其推送给我的用户,但他们不是制作它的人。对于加载项,这对于双语组织来说看起来非常有趣和有用。但是我没有足够的 IT 权限将它安装在我同事的机器上!还是谢谢。
  • @Bastien - 上面的 R 链接怎么样,在本地检索 Windows ID?
  • 我可能无法正确理解您的提议,但我的看法是,我正在计算机上构建 excel 文件(我知道该文件的语言,法语),然后保存文件在我的公司网络上,所以我的同事,他们都有不同的语言,可以打开文件。让他们自己编程是不切实际的。
猜你喜欢
  • 2022-06-29
  • 1970-01-01
  • 1970-01-01
  • 2017-11-04
  • 2019-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多