Origin C访问Word

Origin C要往Word里写内容,一个简单的方法是通过Word里的书签来定位,然后直接获取这个书签位置来写入内容。

用到的Word文档是Origin自带的一个模板,位于Origin的安装目录下Samples\Batch Processing\Sensor Analysis Report.dotx

这个模板包含有以下的书签:FileName, FileDate, FittedGraph, ResidualPlot, InterceptValue, InterceptError, SlopeValue, SlopeError, RSquare

在Word里要把书签显示出来,可以通过文件>选项>高级,然后找到显示文档内容那一栏,把显示书签打上勾。

主要步骤:

1.创建Word应用

wApp = CreateObject("Word.Application");  // 创建Word应用

2.通过模板打开Word文档

wDoc = wApp.Documents.Open(strWordTemplate, false, false);  // 通过模板打开Word文档

3.获得书签对象

if (wDoc.Bookmarks.Exists(vsTextBookmarks[ii]) == false) {  // 先检测书签存不存在
    continue;
}
Object wBookmark = wDoc.Bookmarks(vsTextBookmarks[ii]);  // 获得书签

4.通过书签对象来填内容

wBookmark.Range.Text = vsTexts[ii];  // 把文本放上去

wBookmark.Range.Text = ftoa(vNumbers[ii]);  // 先把数字转为字符串,本质上是把文本放上去

string strLT = "Clipboard -CE " + vsGraphNames[ii] + ";";  // 复制图的LabTalk语句
LT_execute(strLT);  // 执行LabTalk语句
wBookmark.Range.Paste();  // 把图粘贴到书签的位置

5.保存文档,这里同时保存为Word和PDF

wDoc.SaveAs(strSavedWordFile, 16);  // wdFormatDocumentDefault == 16,默认格式,Word 2010为docx	
wDoc.SaveAs(strSavedPDFFile, 17);  // wdFormatPDF == 17, PDF格式

6.关闭并退出Word应用

wDoc.Close(0);  // wdDoNotSaveChanges == 0,不保存关闭
wApp.Quit();  // 退出Word应用

源码可于github下载:https://github.com/gkimeeq/OriginAdvancedApplication

posted @ 2019-07-02 15:26  gkimeeq  阅读(246)  评论(0编辑  收藏  举报