【问题标题】:Set Word.Selection LTR from RTL从 RTL 设置 Word.Selection LTR
【发布时间】:2014-01-04 04:53:25
【问题描述】:

我想使用 LtrPara() 方法在 Word 文档中设置从左到右对齐。
不幸的是,它什么也没做,文本来自 RTL。有什么想法吗?

Microsoft.Office.Interop.Word.Document wordDoc = null;
Microsoft.Office.Interop.Word.ApplicationClass wordApp = new Microsoft.Office.Interop.Word.ApplicationClass();  
wordDoc = wordApp.Documents.Add(ref defaultTemplate, ref missing, ref missing, ref missing);
//make a word selection object
Microsoft.Office.Interop.Word.Selection selection = wordApp.Selection;
selection.LtrPara();  

提前致谢!

【问题讨论】:

  • 是否有我们应该注意的区域设置?例如,您是否在以 RTL 为规范的文化环境中运行?
  • 是的。我的 Word 是默认 RTL

标签: c# office-interop cultureinfo


【解决方案1】:

这可能是 Office 互操作库中的一个缺陷。要测试该理论,请在尝试操作之前尝试将线程的文化设置为 LTR 语言。

System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("en-us");
Microsoft.Office.Interop.Word.ApplicationClass wordApp = new Microsoft.Office.Interop.Word.ApplicationClass(); 

如果设置线程文化有效,则可能有一种侵入性较小的方法来设置文档的文化。例如,Excel 互操作程序集提供了覆盖数字分隔符的功能,如this SO question 所示。

【讨论】:

  • 感谢您的快速回复!我已经尝试了上面的代码,但仍然没有任何反应。
  • 你的意思是“什么都没有发生”还是“没有变化”?
  • 没有变化!该程序与添加上述代码之前的操作相同。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多