从RTL设置Word.Selection LTR

时间:2013-12-16 17:32:15

标签: c# office-interop cultureinfo

我想使用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();  

提前致谢!

1 个答案:

答案 0 :(得分:1)

这可能是Office Interop库中的缺陷。要测试该理论,请在尝试操作之前尝试将线程的文化设置为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中所示。