内容导航:


一、如何调用word对象


一、Delphi程序启动Word采用CreateOleObjects的方法来启动Word,调用VBA代码,具体实现过程为:
首先使用GetActiveOleObject('Word.Application')判断当前内存中是否存在Word程序,如果存在,
则直接连接,如果没有Word程序,则使用CreateOleObject('Word.Application')启动Word

二、Delphi程序新建Word文稿
格式:WordDocuments.Add(Template,NewTemplate,DocumentType,Visible)
Template: 使用模板的名称,
NewTemplate: 新建文档的类型,True表示为模板,False表示为文档
DocumentType: 文档类型,默认为空白文档
Visible: 打捞的窗口是否可见

举例:Doc_Handle:=Word_Ole.Documents.Add(Template:='C:Temlate.dot',NewTemplate:=False);

三、Delphi程序打开Word文稿
格式:WordDocuments.Open(FileName,ConfirmConversions,ReadOnly,PassWordDocument,
PasswordTemplate,Revent,WritePasswordDocument,WritePassWordTemplate,
Format,Encoding,Visible)

FileName: 文档名(包含路径)
Confirmconversions: 是否显示文件转换对话框
ReadOnly: 是否以只读方式打开文档
AddToRecentFiles: 是否将文件添加到"文件"菜单底部的最近使用文件列表中
PassWordDocument: 打开此文档时所需要的密码
PasswordTemplate: 打开此模板时所需要的密码
Revert: 如果文档已经,是否重新打开文档
WritePasswordDocument: 保存对文档更改时所需要的密码
WritePasswordTemplate: 保存对模板进行更改时所需要的密码
Format: 打开文档时所需使用的文件转换器
Encoding: 所使用的文档代码页
Visible: 打开文档的窗口是否可见

举例:
Doc_Handle:=Word_Ole.Documents.open(FileName:=Doc_File,ReadOnly:=False,
AddToRecentFiles:=False);

四、Delphi程序保存Word文稿
格式:WordDocuments.SaveAs(FileName, FileFormat, LockComments, Password,
AddToRecentFiles, WritePassword, ReadOnlyRecommended,
EmbedTrueTypeFonts, SaveNativePictureFormat, SaveFormsData,
SaveAsAOCELetter)

FileName: 文件名。默认为当前文件夹和文件名。
FileFormat 文档保存的格式。
LockComments 如果为 True,则此文档只允许进行批注。
Password 打开文档时的口令。
AddToRecentFiles 如果为True,则将文档添至"文件"菜单中最近使用的文档列表中。
WritePassword 保存对文档的修改所需的口令。
ReadOnlyRecommended 如果为 True,在每次打开文档时,Word 将建议用户采用只读方式。
EmbedTrueTypeFonts 如果为 True,则将文档与 TrueType 字体一起保存。
SaveNativePictureFormat 如果为 True,则从其他系统平台(例如 Macintosh)导入的图形仅保存其 Windows 版本。
SaveFormsData 如果为 True,则将窗体中用户输入的数据存为一条数据记录。
SaveAsAOCELetter 如果文档包含一个附加,当此属性值为 True 时,将文档存为一篇 AOCE 信笺(同时保存邮件)。

举例:
Word_Ole.Documents.SaveAs(FileName:=Doc_File,FileFormat=wdFormatDocument,
AddToRecentFiles=False);

五、从数据库读取文件到本地硬盘和从本地硬盘读取文件到数据库

在数据库上使用Image二进制字段保存,使用Stream流的方式。

创建文件流:
Word_FileStream:=TFileStream.Create(Target_Name,fmOpenWrite or fmCreate);
Word_FileStream.Position:=0;

保存到数据库的Image字段:
TBlobField(AdoQuery1.FieldByName(Column_Name)).SaveToStream(Word_FileStream);

从数据库读取文件到本地硬盘:
TBlobField(ADOQuery1.FieldByName(Column_Name)).loadfromStream(Word_FileStream);

释放文件流:
Word_FileStream.Free;

六、全局消息的定义
因为word和Delphi程序是两个软件,相互之间通讯比较麻烦,所以使用全局消息的方法进行。
全局消息必须首先注册,Windows返回系统空闲的消息号,当注册的消息相同时,
Windows系统返回同一个值,这样就保证了使用这个消息号在两个程序之间通讯。

定义消息的办法:
szMessageString: pchar = 'XIDIAN_11_Stone';
FMyJoinMessage := RegisterWindowMessage(szMessageString);

发送消息的方法:
SendMessage(对方句柄,消息,消息附带短变量,消息附带长变量)

七、Delphi程序接收消息的方法
Delphi接收消息有两种,一是重载特定消息,二是重载WndProc函数,在里面选择相应消息进行处理。
法一,每次只能处理一条消息,而法二能够同时处理多条消息。

对于法二,声明如下:
procedure WndProc(var Message: TMessage);override
必须注意,使用时需要在处理完自己消息处理后继承WndProc(Message)函数,否则系统会崩溃!

八、Word中Combo对话框的动态生成以及Change事件
建立类模块Combohander,在内部定义事件
Public WithEvents ComboBoxEvent As Office.CommandBarComboBox

定义Combo控件产生事件的模块
Dim ctlComboBoxHandler As New ComboBoxHandler

产生Combo对话框
Set Cbo_ChooseDoc = CommandBars("添加的菜单").Controls.Add(Type:=msoControlComboBox, Temporary:=True)

进行文件句柄设置,以产生Combo_Change事件
Set ctlComboBoxHandler.ComboBoxEvent = Cbo_ChooseDoc

产生事件后,在类模块Combohander内选择ComboBoxEvent的Change事件,即可书写事件代码
Sub ComboBoxEvent_Change(ByVal Ctrl As Office.CommandBarComboBox)

九、一些Word的事件
VBA代码中处理的Word事件有:Document_Close
Application事件中需要处理的有:DocumentBeforeClose,DocumentChange。

Document_Close:事件在文档关闭时产生事件
DocumentBeforeClose:在文档被关闭以前先于Word判断文档是否保存,给出相应提示并进行相应处理。
DocumentChange:文档切换,在文档从自己修改的文稿和其他人修改的文稿之间切换产生事件,
主要处理设置文档权限等。


二、如何在word里组合对象


1、打开电脑,然后打开准备好的word文档,插入图片素材和艺术字标题,调整好图片位置;

2、鼠标选中图片,找到鼠标右键在弹出的菜单中选择【大小和位置】选项,点击【大小和位置】选项;

3、然后会弹出一个“大小和位置”弹出框,在弹出框中将图片的“文字环绕”方式设置为“衬于文字下方”;

4、按下【Shift】键,同时选中要组合的对象,然后单击鼠标右键,在弹出的快捷菜单中选择【组合】》【组合】菜单项;

5、返回word文档,此时再用鼠标拖动图片,则整个画面会一起移动,可以同时进行修改等操作即可。



三、word怎样自定义设置对象格式快捷键


1、点击
word
2007
界面左上方的
office
图标按钮,并点击弹出菜单中下方的“word
选项”。
2、这时,word
2007
弹出一个选项设置的窗口,在这里包含了许多关于
word
各方面的设置,细心查看,我们可以对很多偏好进行设置。在这里我们要进行的是快捷键的设置,所以点选“自定义”。
3、在窗口下方的“键盘快捷方式”字样旁,点击“自定义”按钮,这时就会弹出一个新的自定义键盘的窗口。我们可以通过界面上的联动列表框选择需要设置快捷键的命令:首先在左边的“类别”列表框中选择命令所在的选项卡,然后再在右边的“命令”列表框中选择相应的命令。当你选择一个命令时,对话框的底部会出现简要说明会。最后在“请按新快捷键”文本框中输入快捷键。
比如,我们要为“插入”选项卡中的“插入图片”功能设置快捷键,那么就在“类别”列表框中选“插入
选项卡”,然后在右边找到对应的命令“insertpicture”,并输入快捷键。快捷键的类型可以是
ctrl、shift
或者
ctrl
+
shift
与字母、数字的组合。
word
2007
中本身已经设定了一些快捷键,当我们自行设定快捷键时,可以根据界面上的“目前指定到”来查看该快捷键组合是否已使用以及被哪个命令使用。
此外,我们可以选择快捷键所作用的对象范围。在“将更改保存在”选项中选择“normal”,那么快捷键将对所有的文档有效;也可以选择只对当前的文档有效。
完成以上设置后,点击“指定”按钮就可以最终成功创建快捷键。通过上述的操作,我们可以重新设置已存在的快捷键设置,也可以增加新的快捷键。
当我们设置完快捷键后,在文档的任何地方,只要轻松一按键盘快捷键组合,就可以立即调出预设的命令,而不用再翻箱倒柜般的寻找命令按钮在那个
ribbon
选项卡中了。通过此方法,我们只要为常用的功能都预设好快捷键,就可以使日常的使用效率得到较大的提高。