Excel DDE Commands
! 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 { }
}
DDE commands
- 命令大小写不敏感(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 ~ 56color 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))
Excel DDE Commands的更多相关文章
- Excel,2010,可以独立打开窗口
HKEY_CLASSES_ROOT \ Excel.Sheet.12和HKEY_CLASSES_ROOT\Excel.Sheet.8 首先更改HKEY_CLASSES_ROOT \ Excel.She ...
- VB操作EXCEL文件
用VB操作Excel(VB6.0)(整理) 首先创建Excel对象,使用ComObj:Dim ExcelID as Excel.ApplicationSet ExcelID as new Excel. ...
- Excel 点滴积累
1.Excel中截取邮件@之后的字符 MID(text, start_num, num_chars) FIND(find_text,within_text,start_num) Right(strin ...
- Excel 同时打开2个或多个独立窗口
首先win7版本点击[开始]菜单,在输入框里面输入"regedit.exe"打开注册表 然后定位找到该路径HKEY_CLASSES_ROOT \ Excel.Sheet.1 ...
- 解决Excel 2010只有一个窗口的问题
Excel 2010打开多个文件,但只有一个窗口的问题. 一般首次安装没有这个问题,碰到装了WPS后再卸载WPS,还有就是OFFICE卸载后重装,也会发生这个现像. 一.: 删除 HKEY_CLASS ...
- 浅谈Excel开发:五 Excel RTD函数
上文介绍了Excel中的UDF函数,本文介绍一下同样重要的RTD函数.从Excel 2002开始,Excel引入了一种新的查看和更新实时数据的机制,即real-time data简称RTD函数 ...
- [Office][C#] NPOI、OpenXML SDK、OpenOffice.org SDK 写入资料到 EXCEL 档案[转]
原文地址:http://www.dotblogs.com.tw/chou/archive/2010/04/29/14912.aspx 一.簡介 要將資料寫入 EXCEL 檔案有許多的方法,但假如電腦不 ...
- Formatting Excel File Using Ole2 In Oracle Forms
Below is the some useful commands of Ole2 to format excel file in Oracle Forms.-- Change font size a ...
- 【转】VB中应用DDE
动态数据交换(dde)是windows应用程序间通讯的基本方法之一,在动态数据交换的过程中,提供数据和服务的应用程序称为服务器,请求数据或服务的应用程序则称为客户. dde交谈是由客户程序启动的.如果 ...
- Powerdesigner 导出Excel格式数据字典 导出Excel格式文件
版权声明:本文为博主原创文章,转载请注明出处; 网上我也看到了很多的Powerdesigner 导出方法,因为Powerdesigner 提供了部分VBA功能,所以让我用代码导出Excel格式文件得以 ...
随机推荐
- Hyper-V由于虚拟机监控程序未运行
以管理员权限打开命令提示符 输入bcdedit /set hypervisorlaunchtype Auto 重启计算机
- 【Visual Leak Detector】配置项 ForceIncludeModulesmd
说明 使用 VLD 内存泄漏检测工具辅助开发时整理的学习笔记.本篇介绍 VLD 配置文件中配置项 ForceIncludeModules 的使用方法. 同系列文章目录可见 <内存泄漏检测工具&g ...
- 在 Rainbond 上使用 Curve 云原生存储
Curve 是网易主导自研的现代化存储系统, 目前支持文件存储(CurveFS)和块存储(CurveBS). CurveBS 的核心应用场景主要包括: 虚拟机/容器的性能型.混合型.容量型云盘或持久化 ...
- react中自定义函数、生命周期钩子函数、修改状态、组件、组件传值
1.回顾 2.自定义函数 事件的首字母大小 onclick ==> onClick onchange ==> onChange 普通的点击事件 ---- 调用事件不加(),加了立即执行 i ...
- 什么?又来智能AI编程?让不让我们活了!
无事逛github发现了一款智能AI编程,故下载试试 发现异常好用 推荐给大家 github地址:GitHub - getcursor/cursor:一个用于使用AI 编程的编辑器 支持:C# ,Ja ...
- C++/Qt网络通讯模块设计与实现(总结)
至此,C++/Qt网络通讯模块设计与实现已分析完毕,代码已应用于实际产品中. C++/Qt网络通讯模块设计与实现(一) 该章节从模块的功能需求以及非功能需求进行分析,即网络通讯模块负责网络数据包的发送 ...
- pychearm日常用法
一 常用快捷键 编辑类:Ctrl + D 复制选定的区域或行Ctrl + Y 删除选定的行Ctrl + Alt + L 代码格式化Ctrl + Al ...
- 多线程结合自定义logback日志实现简单的工单日志输出
前言 这周学习了logback自定义日志格式.多线程基础.以及常见的定时器,本篇博客主要是结合以上知识实现一个简单的定时全部工单输出任务,再通过自定义的日志打印输出到控制台. 1.logback自定义 ...
- Nuxtjs实现服务端渲染和静态化站点
本文将介绍如何使用Nuxtjs对vue项目进行ssr和静态化处理. Nuxtjs简单介绍 首先,我们简单了解下Nuxtjs框架,Nuxt.js是一个基于Vue的通用框架,主要用于解决Vue项目的服务端 ...
- 【LeetCode动态规划#10】完全背包问题实战,其三(单词拆分,涉及集合处理字符串)
单词拆分 力扣题目链接(opens new window) 给定一个非空字符串 s 和一个包含非空单词的列表 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词. 说明: 拆 ...