大批量精美作图可以用到本博文,参考官网:https://www.originlab.com/doc/COM和https://www.originlab.com/doc/COM/Classes(官网给的都是VB、C#之类的,可以参考,其实都差不多)
1. 制作模板及主题(简单从略)
2. MATLAB编程
-
先创建自动化服务对象
1. originObj = actxserver('Origin.ApplicationSI'); % 获得Origin自动化服务对象(通过COM接口)
2. invoke(originObj, 'Execute', 'doc -mc 1;'); % 操作可视化
3. invoke(originObj, 'IsModified', 'false'); % Clear "dirty" flag in Origin to suppress prompt for saving current project
- 工作簿可以自己创建,也可以用模板生成。自己创建和模板生成的命令分别如下:
1. strBook = invoke(originObj, 'CreatePage', 2, '', 'Origin'); % 创建工作簿,返回工作簿名称strBook
2. invoke(originObj, 'Load', '模板路径'); % 打开模板(注意模板路径包含完整路径信息,文件扩展名为.OPDJ)
- 工作表的相关操作
1. wks = invoke(originObj, 'FindWorksheet', strBook); % 找到名为“strBook”的工作簿中的工作表,注意如果工作簿中的工作表大于1时该命令无效,需要用下面一条命令。
2. wks = invoke(originObj, 'FindWorksheet', '[Book1]Sheet1'); % Book1为工作簿名称,Sheet1为工作表名称
3. invoke(wks, 'Name', 'MySheet'); % 工作表重命名为MySheet
4. invoke(originObj, 'PutWorksheet', '[Book1]Sheet1', Data); % 向工作表中导入数据,其中Data为需要导入的数据,一般为矩阵形式;Book1为工作簿的名称;Sheet1为工作表的名称
- 图片的相关操作
1. strGraph = invoke(originObj, 'CreatePage', 3, '', 'Origin'); % 创建图片,返回名称
2. gl = invoke(originObj, 'FindGraphLayer', strGraph); % 获取名称为strGraph的图片的图层
3. invoke(originObj, 'CopyPage', 'Graph1'); % 图片复制到剪切板,其中Graph1为图片名称
- 释放对象
release(originObj); % 释放之后才能关闭Origin,否则无法关闭
3. 批量导出图片(简单从略)
待续。。
版权声明:本文为博主原创文章,未经博主允许不得转载。