Excel互操作从右到左的文档

7
我用C#创建了一个新的Excel文件。
当我打开文档时,所有工作表都从右到左对齐。
如何使工作表/工作簿/窗口显示从左到右的语法对齐?
4个回答

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

您还可以通过 工具->选项->国际 更改设置。请注意,您需要设置/取消 "从右到左查看当前工作表" 复选框,以更改当前打开的工作表。

编辑:抱歉,我误将您的问题理解为VBA.

以下是C#语言的解决方案:

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;

我唯一需要添加的注释是,我的类中不包含“Constants”属性或字段。因此,我使用了Interop DLL内置的枚举xlDirection。 - dubi

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;
} 

0

执行以下步骤一次以更改默认方向:

  • Alt+F11 打开 VBA 编辑器
  • Ctrl+G 打开立即窗口
  • 在立即窗口中键入 Application.DefaultSheetDirection = xlLTR 并按下 Enter
  • Alt+Q 关闭 VBA 编辑器
  • 创建一个新工作簿进行测试

0
如果您只是想要组织一些列,您可以使用以下代码行:
oWS.Range["A1:B2000"].HorizontalAlignment = Microsoft.Office.Interop.Excel.Constants.xlLeft;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接