! 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

  1. [edit.delete]: 下方的单元会上移。

  2. [paste]: 支持 Range 的粘贴。

Excel DDE Commands的更多相关文章

  1. Excel,2010,可以独立打开窗口

    HKEY_CLASSES_ROOT \ Excel.Sheet.12和HKEY_CLASSES_ROOT\Excel.Sheet.8 首先更改HKEY_CLASSES_ROOT \ Excel.She ...

  2. VB操作EXCEL文件

    用VB操作Excel(VB6.0)(整理) 首先创建Excel对象,使用ComObj:Dim ExcelID as Excel.ApplicationSet ExcelID as new Excel. ...

  3. Excel 点滴积累

    1.Excel中截取邮件@之后的字符 MID(text, start_num, num_chars) FIND(find_text,within_text,start_num) Right(strin ...

  4. Excel 同时打开2个或多个独立窗口

    首先win7版本点击[开始]菜单,在输入框里面输入"regedit.exe"打开注册表     然后定位找到该路径HKEY_CLASSES_ROOT \ Excel.Sheet.1 ...

  5. 解决Excel 2010只有一个窗口的问题

    Excel 2010打开多个文件,但只有一个窗口的问题. 一般首次安装没有这个问题,碰到装了WPS后再卸载WPS,还有就是OFFICE卸载后重装,也会发生这个现像. 一.: 删除 HKEY_CLASS ...

  6. 浅谈Excel开发:五 Excel RTD函数

        上文介绍了Excel中的UDF函数,本文介绍一下同样重要的RTD函数.从Excel 2002开始,Excel引入了一种新的查看和更新实时数据的机制,即real-time data简称RTD函数 ...

  7. [Office][C#] NPOI、OpenXML SDK、OpenOffice.org SDK 写入资料到 EXCEL 档案[转]

    原文地址:http://www.dotblogs.com.tw/chou/archive/2010/04/29/14912.aspx 一.簡介 要將資料寫入 EXCEL 檔案有許多的方法,但假如電腦不 ...

  8. 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 ...

  9. 【转】VB中应用DDE

    动态数据交换(dde)是windows应用程序间通讯的基本方法之一,在动态数据交换的过程中,提供数据和服务的应用程序称为服务器,请求数据或服务的应用程序则称为客户. dde交谈是由客户程序启动的.如果 ...

  10. Powerdesigner 导出Excel格式数据字典 导出Excel格式文件

    版权声明:本文为博主原创文章,转载请注明出处; 网上我也看到了很多的Powerdesigner 导出方法,因为Powerdesigner 提供了部分VBA功能,所以让我用代码导出Excel格式文件得以 ...

随机推荐

  1. ThreadLocal 类

    更多内容,访问 IT-BLOG ThreadLocal 并不是一个Thread,而是 ThreadLocalVariable(线程局部变量).也许把它命名为 ThreadLocalVar更加合适.线程 ...

  2. day11-SpringBoot中注入Servlet&Filter&Listener

    SpringBoot中注入Servlet&Filter&Listener 1.基本介绍 文档:SpringBoot中注入Servlet&Filter&Listener ...

  3. 多精度 simulator 中的 RL:一篇 14 年 ICRA 的古早论文

    目录 全文快读 0 abstract 1 intro 2 related work 3 背景 & 假设 3.1 RL & KWIK(know what it knows)的背景 3.2 ...

  4. [Linux]Filesystem Hierarchy Standard/文件系统层次结构标准(FHS for Linux)

    1 文件系统层次结构标准 本篇文章为维基百科中关于FHS的译文,原文见 wiki:https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard ...

  5. 五月八号java基础知识点

    1.对于容器中元素进行访问时,经常需要按照某种次序对容器中的每个元素访问且仅访问 一次,这就是遍历,也称为迭代.2.遍历是指从容器中获得当前元素的后续元素.对元素的遍历有很多种:第一种就是foreac ...

  6. Java双向链表实现队列

    将双向链表做简单的改造,即可实现一个FIFO(First Input First Out)队列, 该队列只在头节点出队,尾节点入队. 一般来说定义节点类只需一个后驱节点next即可. 这里保留pre节 ...

  7. LINUX经常使用的命令详解

    LINUX经常使用的命令详解 源地址:http://blog.itpub.net/29065182/viewspace-1189162/ 1.man 对你熟悉或不熟悉的命令提供帮助解释  eg:man ...

  8. day07-优惠券秒杀03

    功能03-优惠券秒杀03 4.功能03-优惠券秒杀 4.6Redisson的分布式锁 Redis分布式锁-Redisson+RLock可重入锁实现篇 4.6.1基于setnx实现的分布式锁问题 我们在 ...

  9. JUC并发常用工具学习

    今天主要来和大家分享一下JUC相关的一些简单知识,线程池文章就不介绍了,前面的文章有介绍,本文主要介绍Lock和认识synchronized和并发的一些工具类的使用. Lock 传统的锁有synchr ...

  10. I-o-C 一篇概览

    一.ioC 容器和 Bean介绍 IoC(Inversion of Control )也被称之为 DI(dependency injection),名称侧重点略有不同. 所谓控制翻转即对象通过构造函数 ...