7

我用 C# 创建了一个新的 Excel 文件。

当我打开文档时,所有工作表都从右到左对齐。

如何对齐工作表/工作簿/窗口以在语法上从左到右显示?

4

4 回答 4

11
Sub leftToRight()
    Application.DefaultSheetDirection = xlLTR
    ActiveSheet.DisplayRightToLeft = False
End Sub

您也可以通过Tools->Options->International更改设置。请注意,您需要设置/取消设置“从右到左查看当前工作表”复选框以更改当前打开的工作表。

编辑:抱歉,我不小心将您的问题解释为 VBA。

这是ac#解决方案:

Excel.Application xlApp = new Excel.Application();
xlApp.Visible = true;
xlApp.Workbooks.Add(System.Type.Missing);  
Excel.Worksheet active = (Excel.Worksheet)xlApp.ActiveSheet;

xlApp.DefaultSheetDirection = (int)Excel.Constants.xlLTR; //or xlRTL
active.DisplayRightToLeft = false;
于 2011-01-04T13:58:23.173 回答
7

在我使用了 marg 概念并将其更改为适合我的语法之后,我想介绍一下我对这个功能的实现:

public void SetWorksheetDirection(Application excel, bool isRTL)
{
    Worksheet active = (Worksheet)excel.ActiveSheet;

    if (isRTL)
        excel.DefaultSheetDirection = (int)XlDirection.xlToRight;
    else
        excel.DefaultSheetDirection = (int)XlDirection.xlToLeft;

    active.DisplayRightToLeft = isRTL;
} 
于 2011-01-09T15:43:23.450 回答
0

如果你只是想组织一些列,你可以使用这样的一行:

oWS.Range["A1:B2000"].HorizontalAlignment = Microsoft.Office.Interop.Excel.Constants.xlLeft;
于 2013-12-28T21:29:46.370 回答
0

执行此操作一次以更改默认方向:

  • Alt+F11打开 VBA 编辑器
  • Ctrl+G打开即时窗口
  • 在立即窗口类型中Application.DefaultSheetDirection = xlLTR,然后按Enter
  • Alt+Q关闭 VBA 编辑器
  • 创建一个新的工作簿来测试它
于 2016-11-22T11:37:04.790 回答