从VBA到Delphi

我一般用OLE方式处理office系列的数据。

一、定义

WordApp: variant;
CurrDoc: variant;
Selection: variant;

二、初始化

WordApp.Visible := true;
CurrDoc := WordApp.documents.Open(AFullFileName, Revert := true, Visible := true);
Selection := CurrDoc.ActiveWindow.Selection;//好处在于不用怕打开关闭其它word文档而出错

三、释放处理

if not VarIsEmpty(CurrDoc) then
begin
try
CurrDoc.save;
CurrDoc.close;
except

end;

end;
CurrDoc := Unassigned;
if not VarIsEmpty(WordApp) then
begin
try
WordApp.quit;
except

end;

end;
WordApp := Unassigned;
Selection := Unassigned;

以上是基本处理。

五、VBA到delphi的处理方法

首先请先下载我的另一博文的Office Vba手册,方便参考。

下面仅举几个例子如何从vba代码中转为delphi代码。

这一部分为VBA代码

//Debug.Print Selection.Information(wdEndOfRangeColumnNumber) ‘17结束列
//Debug.Print Selection.Information(wdEndOfRangeRowNumber) ‘14结束行
//Debug.Print Selection.Information(wdStartOfRangeColumnNumber) ‘16开始列
//Debug.Print Selection.Information(wdStartOfRangeRowNumber) ‘13开始行
Delphi代码:

bCol := Selection.Information[16];//其中Selection是有定义的,看前面才可以有和VBa类似
eCol := Selection.Information[17];//information这是selection的属性。VBA中是用()但是在delphi是用[]
bRow := Selection.Information[13];//调用属性有参数时delphi是[],VBA是()函数或事件都是()
eRow := Selection.Information[14];

VBA转成delphi很多部分可以抄,但是有细微的差别。这个要注意。

六、我的应用中要读取当前光标的是在表格那个位置,但是word的表格数据读取,很麻烦。

我用了这个来处理

Selection.paragraphs.item(1).range.text := ‘‘;

时间: 2024-10-16 23:13:42

从VBA到Delphi的相关文章

给程序员的五点建议--如何成为编程高手并以此创业

写在前面:此篇文章出自雷军之手,是他为软件开发2.0技术大会准备的演讲稿,但由于某些原因没有派上用场.这里跟大家分享下,对我们程序员来说还是大有裨益的. 每个IT企业,尤其是初创企业,非常苦恼:找不到好的程序员.现在大学.软件学院及各种培训机构,每年培养几十万的程序员,毕业的每个人都有同样困恼:找不到好的工作.问题出在哪里呢?其实,企业需要的是不是刚会写程序的人,需要来了就能干活的人,尤其能把活干好的人.而刚毕业的大学生多半刚学会如何写程序,的确很难企业需求. 企业到底需要什么样的程序员,一个刚

一生一代一双人:我与51CTO学院的情缘----写于51CTO学院2周年庆

  一生一代一双人:我与51CTO学院的情缘 ----写于51CTO学院2周年庆 光阴似箭.斗转星移.树的年轮又多了两圈,51CTO学院也已经2周岁了.700多天,17,000多个小时.1,000,000多分钟. 60,000,000多秒,无时无刻不在记录着51CTO学院的成长与烦恼.时间老人用他的笔不断书写着过去,现在和未来.那么现在我就借用时间老人的这 支笔来为51CTO学院写下生日祝福:Happy Birthday.当然,下面我会继续用这支笔书写一下我进入培训领域.与51CTO学院结缘.从

程序员如何选择技术方向

程序员如何选择技术方向 池建强12月09日 17:53 分享到: 程序员 技术方向 分类 : 互联网 摘要 : 程序员三部曲之第三篇「程序员如何选择技术方向」——两个励志小故事 http://chijianqiang.baijia.baidu.com/article/39179 最近写了「当程序员老去」「程序员真正的价值」两篇文章,传播甚广,今天是第三篇:「程序员如何选择技术方向」,史称「程序员三部曲」. 那之前写的几篇程序员文章算什么呢?算前传吧.以后再写程序员文章算什么呢?算后记吧. 200

不要再迷茫了,程序员如何选择技术方向

最近写了「当程序员老去」「程序员真正的价值」两篇文章,传播甚广,今天是第三篇:「程序员如何选择技术方向」,史称「程序员三部曲」. 那之前写的几篇程序员文章算什么呢?算前传吧.以后再写程序员文章算什么呢?算后记吧. 2008年秋天的一个午后,温暖的阳光透过落地窗落在我面前这个长长的写字桌上,桌子对面坐的是一个瘦小的程序员,他的名字叫小明,小明有些茫然,他看着我,不知道该说些什么. 程序员都是很严谨的,我不得不首先发出一个 System Call: 你在客户现场这半年做什么工作? 写单元测试. 还有

一个“纯屌丝”如何零基础转行做程序员

高考落榜后,生活像被蒙上了一层灰色的雾霾,看不清未来.在接下来的一两年中,磕磕绊绊地走了一些弯路.庆幸的是,我一直勇敢前行,欣慰的是,如今拨云见日,天朗气清. 放弃复读 一路波折 或许是因为年轻,心性不够成熟,我对高考的失败一直耿耿于怀,只顾嗟叹,连复读的勇气都没有.每每看到考上大学的同学在QQ空间发表状态.晒照片,总会有一种羡慕的感觉郁结心头. 在家闲的无聊,总觉得该找点事做,我在广告宣传的引导下来到传说中的新*电脑学校,学习网络技术,当时,不谙世事的我以为学完之后就能成功跨进IT行业,成为一

对程序员更好的建议【转载】

必须写够十万行代码,不要心存侥幸 程序员象木工一样,熟能生巧.程序员必须写足够代码量的程序,才会有感觉,这是一个苦力活,没有任何捷径可走. 计算机是一门实践性的科学,没有动手能力做支撑,很难做出好的科研成果.我的一个学长是美国卡内基梅隆大学的博士,卡内基梅隆大学计算机系在全世界非常出名,他说每个博士生必须写十万行代码才能毕业,卡内基梅隆大学博士进任何一个大企业基本不用面试.而国内培养的大部分研究生.博士生,动手能力都偏弱.鞍山治疗牛皮癣好的医院www.pfk0412.com 没有写过足够代码量的

雷军语录:写程序有写诗一样的感觉

01 只有真正喜欢才能写好程序 喜欢写程序,做程序员就是上天堂: 不喜欢写程序,做程序员就是下地狱. --雷军 程序员需要整天趴在电脑前,经常没日没夜的,非常辛苦,而且工作来不得半点虚假,少写一个标点符号都不行.喜欢的人,日子过得非常开心,每写一行代码,都会有新的成就,尤其当自己的作品被广泛应用的时候,那种自豪感油然而起.不喜欢的人,坐在电脑前极端无聊,被进度压得喘不过气来,天天为找bug改bug生气. 02 把程序当艺术品,象写诗一样来写代码 如果每个人写程序的时候当艺术品来写,写每行都认认真

Delphi 运行Word VBA 宏 删除软回车

Sub 整理网页()'整理网页:删除软回车.删除空白段.使段落文字两端对齐Selection.WholeStory        Selection.Find.ClearFormatting    Selection.Find.Replacement.ClearFormatting    With Selection.Find        .Text = "?^l"        .Replacement.Text = "^&^p"        .For

用Delphi进行word开发

使用以CreateOleObjects方式调用Word 实际上还是Ole,但是这种方式能够真正做到完全控制Word文件,能够使用Word的所有属性,包括自己编写的VBA宏代码.----------------------------------------- Word宏编辑器Word能够真正地进行VBA代码的编辑,可以编写窗体.函数.进入Word宏编辑器的方法:工具->宏->Visual Basic编辑器,可进入Visual Basic编辑器界面.Word的Visual Basic编辑器界面和