Excel DDE Commands
阅读原文时间:2023年08月12日阅读:1

! https://zhuanlan.zhihu.com/p/635569763

Excel DDE Commands

Application: Excel

Topic:

System: 整个应用。

[sheetname] 指定 worksheet。

我使用的是 .NET 组件 Specshell.NDde

        private DdeClient _ddeClient;
        public void Init()
        {
            try
            {
                _ddeClient = new DdeClient("EXCEL", "System");
                _ddeClient.Context.Encoding = System.Text.Encoding.Default;
                _ddeClient.Connect();
            }
            catch (Exception ex)
            {
                log.Error(ex);
            }
        }

        public void Execute(string cmd, bool needEsc = false)
        {
            if (needEsc)
            {
                _ddeClient.TryExecute("[ESC]", 10);
            }
            _ddeClient.TryExecute(cmd, 5);
        }

        public void Dispose()
        {
            try
            {
                _ddeClient?.Disconnect();
            }
            catch { }
        }
  • 命令大小写不敏感(case insensitivity)

  • 命令可以带括号,也可以不带括号

    [paste] = [paste()]

Command

说明

Description

Application commands

[app.activate]

激活应用

activate the application

[quit]

关闭应用

quit the application

Workbook commands

[activate("WorkbookName")]

激活指定的文档

activate a workbook

[new(1)]

新建一个 workbook

new a workbook

[open("filepath.xlsx")]

打开一个 workbook

open a workbook

[save.as("test1.xlsx")]

保存文档

save as a workbook

[close(false)]

关闭文档

close a workbook

[file.close(false)]

关闭文档

close a workbook

Worksheet commands

[workbook.select("worksheetName")]

激活一个 worksheet

activate a worksheet

[workbook.insert(1)]

新建一个 worksheet

new a worksheet

[workbook.prev]

移动到上一个 worksheet

move to the previous worksheet

[workbook.next]

移动到下一个 worksheet

move to the next worksheet

[workbook.move("", "", 1)]

移动一个 worksheet

move a worksheet

[workbook.name("Sheet1", "SheetA")]

命名一个 worksheet

rename a worksheet

[workbook.delete("Sheet1")]

删除一个 worksheet

delete a worksheet

[workbook.new]

打开插入对话框

open the insert dialog

data commands

[clear]

清除当前选择的值

clear selection values

[copy]

复制。

copy selection values

[edit.delete][1]

删除当前选择的单元

delete selection values

[esc]

发送一个 Escape 键?

send the escape key?

[insert(shiftDirectionAndMode)]

插入

insert

[paste][2]

粘贴

paste

[paste("R1C1")]

粘贴到指定的单元

paste to the cells

[select("R1C1")]

选择单元

select cells

[select("R1:R2")]

选择行

select rows

[select("R[1]:R[1]")]

相对位置,选择下一行

select a relative row

[select("R[1]")]

相对位置,选择下一行

select a relative row

[formula("=formula")]

设置值

set a value

[format.font("Verdana",12)]

设置字体

set font

[patterns(1,0,3)]

设置单元格式

set format of cells

[column.width(20,"c1:c2")]

设置列宽

set width of columns

[column.width(,"c1:c2",false,1)]

隐藏/显示列

hide/un-hide columns

[row.height(20,"r1:r2")]

设置列宽

set height of rows

[row.height(,"r1:r2",false,1)]

隐藏/显示行

hide/un-hide rows

  • [paste]

    不同的选择模式,插入方式不同。单元选择,行选择,列选择,范围选择

    • 参数: shiftDirectionAndMode

      1 - cell move right

      2 - cell move down

      3 - row move down

      4 - column move right

  • [format.font("Verdana",12,false,false,false,false,4,false,false)]

    设置字体。

    参数: (font-family, fontname, bold, italic, underline, strikethrough, color index, ?, ?)

    color index: 0 ~ 56

    color index

    color

    color

    0

    automatic

    ABC 中国

    1

    #000000

    ABC 中国

    2

    #FFFFFF

    ABC 中国

    3

    #0000FF

    ABC 中国

    4

    #00FF00

    ABC 中国

    5

    #FF0000

    ABC 中国

    6

    #00FFFF

    ABC 中国

    7

    #FF00FF

    ABC 中国

    8

    #FFFF00

    ABC 中国

    9

    #000080

    ABC 中国

    10

    #008000

    ABC 中国

    11

    #800000

    ABC 中国

    12

    #008080

    ABC 中国

    13

    #800080

    ABC 中国

    14

    #808000

    ABC 中国

    15

    #C0C0C0

    ABC 中国

    16

    #808080

    ABC 中国

    17

    #FF9999

    ABC 中国

    18

    #663399

    ABC 中国

    19

    #CCFFFF

    ABC 中国

    20

    #FFFFCC

    ABC 中国

    21

    #660066

    ABC 中国

    22

    #8080FF

    ABC 中国

    23

    #CC6600

    ABC 中国

    24

    #FFCCCC

    ABC 中国

    25

    #800000

    ABC 中国

    26

    #FF00FF

    ABC 中国

    27

    #00FFFF

    ABC 中国

    28

    #FFFF00

    ABC 中国

    29

    #800080

    ABC 中国

    30

    #000080

    ABC 中国

    31

    #808000

    ABC 中国

    32

    #FF0000

    ABC 中国

    33

    #FFCC00

    ABC 中国

    34

    #FFFFCC

    ABC 中国

    35

    #CCFFCC

    ABC 中国

    36

    #99FFFF

    ABC 中国

    37

    #FFCC99

    ABC 中国

    38

    #CC99FF

    ABC 中国

    39

    #FF99CC

    ABC 中国

    40

    #99CCFF

    ABC 中国

    41

    #FF6633

    ABC 中国

    42

    #CCCC33

    ABC 中国

    43

    #00CC99

    ABC 中国

    44

    #00CCFF

    ABC 中国

    45

    #0099FF

    ABC 中国

    46

    #0066FF

    ABC 中国

    47

    #996666

    ABC 中国

    48

    #969696

    ABC 中国

    49

    #663300

    ABC 中国

    50

    #669933

    ABC 中国

    51

    #003300

    ABC 中国

    52

    #003333

    ABC 中国

    53

    #003399

    ABC 中国

    54

    #663399

    ABC 中国

    55

    #993333

    ABC 中国

    56

    #333333

    ABC 中国

  • [patterns(1,0,3)]

    设置单元。

    参数: (pattern, border, background color)

  • [column.width(20,"c1:c2")]

    设置列宽。

    参数: (columnWidth, columns)) |

  • [column.width(,"c1:c2",false,1)]

    隐藏/显示列。

    参数: (n/a, columns, ?, (1: hide, 2:un-hide))

  • [row.height(20, "r1:r2")]

    设置列宽。

    参数: (rowHeight, rows)) |

  • [row.height(,"r1:r2",false,1)]

    隐藏/显示行。

    参数: (n/a, columns, ?, (1: hide, 2:un-hide))


手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章