程序中增加WORD按钮以及对应功能,怎么办到?(200分)

  • 主题发起人 主题发起人 googoo
  • 开始时间 开始时间
G

googoo

Unregistered / Unconfirmed
GUEST, unregistred user!
用程序给word增加按钮可以办到,使用commandbars的add功能就可以。
那如何给这个增加的按钮对应上一段功能代码呢?
我查过帮助,似乎应该传递一个宏的名称,若这个宏在normal.dot中有,就OK。
现在怎么在delphi里写一个VB的宏并传给按钮呢?

盼望高手相助,多谢多谢。
 
如果是OLE方式基本上可以随心所欲控制
 
Go on, 不夜城
 
请继续或结束
 
请继续或结束
 
如果在delphi里写一个VB的宏并传给按钮不容易做,就把宏代码转成delphi代码,
直接写进去,我就是这样做的,而且如果出现错误,也容易查出来。如果在delphi里写一个VB的宏并传给按钮
的话,出错不容易找到的。
 
太好了,有人回答了。
sunhood,你的例子能不能放上来?或者给我发一个mail(googoo@263.net)也可以。
多谢多谢,这么久了都没有人答,都快放弃了。
 
你用Delphi还是VBA?
VBA我懂。
 
呵呵,我也懂。
要用Delphi.
 
>>那如何给这个增加的按钮对应上一段功能代码呢?
什么意思?这和对普通按钮写代码是一样的呀?
procedure Newbotton1.Click(Sender:TObject)
begin
showmessage("这个按钮是我填加进去的");
end;
是这样吗?
 
不行。按钮在word里。
 
你的意思是自己写一个按钮,然后加入word中??并具有自己创建的功能?

如果是这样,可能就需要在加入按钮的同时,把Normal.dot修改一下了。
 
!我保证你们看到以下的用法一定爽歪歪了!!!
这可是我三天工作的结果。唔。。。
---看最后终结者office。
--------------------------------
如果你们用的office97的server控件,那么用office2000时就要把server上的控件换掉。
做法:
1。在Componet里打开Install Packages.....
2.去掉borland sample automation server components
3.在project中点input type Library....
4.点add加入office2000的类库。(在Microsoft Office/office目录下的)
5。反正是什么Excel9.olb , Msword9.olb 和那些*.olb的东东,有excel的,word的,等。。。
6。palette page:改为servers(因为以前的office的控件完完了)
7。点install就好了。
这样office2000的问题我想应解决了。(如果你用的是什么word.application或excel.application 的控件的话)。
-----------
我的建议:
先用上面一的方法,再用comobj对象。
use comobj, excel_tlb; //excel_tlb 是新excel控件的pas文件,你把新控件放在窗体上看它用的哪个.pas就好了,当然下面要把这个控件去掉。因为comobj不用这个控件。只用这个.pas如excel_tlb中的函数。
var xl:variant;
在事件里写:
xl:=createoleobject('Excel.Application');

然后打开excel或word录一个宏命令,并打开宏命令考入代码。
----以下是宏录下来的宏。
workbooks.add
Range("C5:D7").Select
Sheets("Sheet2").Select
ActiveWindow.SelectedSheets.Delete
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("Sheet3").Range("A1")
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet3"
-------
现在把它改为以下:
xl.workbooks.add;
xl.workbooks.add('d:/test.xls');
xl.Range['C5:D7'].Select;
xl.Sheets['Sheet2'].Select;
xl.ActiveWindow.SelectedSheets.Delete;
xl.Charts.Add;
xl.ActiveChart.ChartType := xlColumnClustered;
xl.ActiveChart.Location(xlLocationAsObject,'Sheet3');
现在运行一下,我保证你们爽歪歪!
看到规律了吗?
前面加上对象名,()改[],= 改:=,有参数时直接用,后加; 。哈哈,满意了吧,
用office的宏命令可是不用你去想编程的,全是手动。这样少写了一大堆代码。

bbcoll 如有不明白的朋友讨论可:bbcoll@china.com

-------------------------------------------------------
 
没有答中。
你所说的很普通,不明白你欣喜在哪里。
注意我的问题是:怎么把这段功能代码对应到word按钮的click事件去?
注意这是个word中的按钮(或者你所说的excel也可),怎么把delphi里写出的一段
代码对应到该按钮的click事件去?
 
googoo老兄的意思是这样的吧:在delphi程序中点击一个按钮,然后执行word程序菜单中的
某个对应的功能。
这个我都想知道要怎么做。
 
我也想知道
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部