我有一个数据源,其中点用作小数分隔符,即 :1.49
表示“一又将近一半”。无法更改它。
必须将此数字复制粘贴到 Excel 或 Calc 中的数字单元格中。该文件是公开的,任何人都可以获取它(在这里获取) 所以我无法控制用户电脑/程序。
大多数用户是意大利人,使用 it_IT 语言环境,其中小数点以逗号分隔,即:1,49
表示“一又将近一半”(请注意,用逗号代替点)。
当意大利语言环境的用户尝试从数据源复制粘贴1.49
到他/她的数字单元格中时,Calc/Excel 会出现问题,因为它无法识别该数字为小数。
如果我在单元格上设置语言,一切都会正常工作……直到我关闭程序。如果我再次打开文档,设置就会丢失,并且不再起作用
所以,我的问题是:
- 无论用户定义的语言环境如何,是否可以强制将文件/工作表的语言环境设置为“en_US”?
- 是否可以保留语言属性?
- 还有其他想法吗?(请不要“要求您的用户更改设置”)
如果可能的话,我宁愿避免使用宏。
谢谢!
更新:我使用的是 Windows 10 x64,刚刚升级到 LibreOffice 5.4.4 x64。每个单元格的语言设置仍然没有保存。我甚至不清楚它是否应该要保存还是仅仅是一个视图设置(猜测是前者,因为当我这样做时保存按钮就会亮起。)
答案1
答案2
手动解决方案,每次粘贴时都要重复:
复制和粘贴后,选择粘贴的单元格...
立即使用查找和替换,首先将任何“。”(千位分隔符)替换为“”(即“无”),然后将“,”(原始小数分隔符)替换为“。”(新的小数分隔符)。
您可能需要使用“选择性粘贴”来添加 0 或乘以 1,才能将它们解释为数字(==> 在任意单元格中放置 1 或 0,复制它,然后执行“选择性粘贴”并选择“添加值”或“乘以值”)。
自动化:“录制宏”,执行上述操作,“停止录制”。您还可以在其中指定快捷键。