如何将vba中的一些代码转化为delphi中的代码!希望得到回答(100分)

  • 主题发起人 主题发起人 小小生
  • 开始时间 开始时间

小小生

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在在将office宏转化成delphi代码时碰到了一些问题:
譬如:在动态创建word和excel时,vba中的代码转化成delphi时,delphi不能使用
如在vba中的居中对齐,selectiong.horizontalalignment:=xlcenter
其align 或者alignment 属性不能识别。
还有就是对段落的操作,不能识别paragraphformat
此下的都是录制经修改的宏,在delphi下的都不能运行。
pp_handle.Application.Selection.Find.ClearFormatting;
app_Handle.Application.Selection.Find.text:='今天,我有幸拜读了关于他的《邓小平文选》,
它精辟而通俗的实录了在中国改革发展腾飞的一路中,我们的伟人所起的作用,所作的果断决策。
掩卷遐思,对其中关于改革的篇章感受颇深。';
app_Handle.Application.Selection.Find.Execute;
if app_handle.application.Selection.paragraphformat.Alignment = wdAlignParagraphCenter then
if app_handle.application.Selection.Paragraphformat.font.Alignment = wdAlignParagraphCenter then
score:=score+3; //居中得3分。
app_handle.application.Selection.ParagraphFormat.FirstLineIndent := CentimetersToPoints(-0.35);
if app_handle.application.Selection.ParagraphFormat.CharacterUnitLeftIndent = 6 then
score:=score+3; //向左缩进6字符,得3分
if app_handle.application.Selection.ParagraphFormat.CharacterUnitFirstLineIndent = -2 then
score:=score+3; //悬挂2字符,得3分
此外,在excel中也是不能识别对齐方式。
如有精通delphi的高手,请尽快予以回答,不胜感激!
或告之于本人信箱:zhangkuii@sohu.com
 
你是用的Delphi中的Office组件吗?
改用CreateOLEObject。
 
我是用的动态创建啊,没有用控件!
 
不要用最好不要用那个什么word.application控件和excel的application控件。
如果真要用:
如果你用的是off2000请删掉原来的面版上的控件。加入新的office系列控件.在office的目录下。
----
最好用comobj对象.我可是在这上面用了一个星期才把vba的代码改到delphi里了。2000对应excel_**t.pas文件.我忘了。
use office对应的的pas文件
简直太简单,我保证你们要给我发个金字奖。(简直是vba 和delphi的集成)。
这是一个你们都想不到的:
1。用word或excel的宏生成一个宏
2。打开编辑这个宏。
3。考这些宏到delphi的代码里。
4。修改这些宏的格式为delphi的格式:
如() 改为[], " 改为 ' , = 改为 := , 参数用(参1,参2),加分号 等等。
5.不要用宏代码中的with do 直接在前面加上对象。
如:xl:=createoleobject(excel.application);
xl.宏代码。
xl.宏代码。
你可以直接把office的宏代码考到delphi里,我保证你爽歪歪了。
因为这些代码全是office的宏产生的不用你动什么脑子用delphi的word,excel控件。
时间太少有什么问题发邮件给我,我现在在外面说得可能不全。
 
后退
顶部