社区
Delphi
帖子详情
一个简单的问题。不过我不会。怎样用WINEXEC函数。怎样调用期它应用程序比如WORD?
prgliker
2003-10-17 10:55:34
一个简单的问题。不过我不会。怎样用WINEXEC函数。怎样调用期它应用程序比如WORD?
...全文
74
5
打赏
收藏
一个简单的问题。不过我不会。怎样用WINEXEC函数。怎样调用期它应用程序比如WORD?
一个简单的问题。不过我不会。怎样用WINEXEC函数。怎样调用期它应用程序比如WORD?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
huojiehai
2003-10-17
打赏
举报
回复
WinExec('d:\aa.exe', 1) ;
Ivin
2003-10-17
打赏
举报
回复
使用WordDocument,WordApplication
读取和显示Word文档的VCL控件:
http://www.ksdev.com/vcl/index.html
http://vcl.vclxx.org/DELPHI/D32FREE/DATA2WRD.ZIP
最近接触了一个用户的案例,用delphi控制word做一个合同管理程序。办公人员先根据业务需要,写好合同的文字,但在用户名称、产品名称等变化的位置填写指定的标记字符串,然后通过delphi把数据库中的实际数据替换掉word中的文字,最后让word打印出合同。
delphi自带了一个简单的word例题,但功能太简单。通过查找vba的说明,再对照delphi的vcl,编写了如下代码,实现了基本的公文管理功能。
启动word时用如下代码:
begin
try
wordapplication.connect;
except
messagedlg('word may not be installed', mterror, [mbok], 0);
abort;
end;
wordapplication.visible := true;
wordapplication.caption := 'delphi automation';
end;
关闭word用如下代码。如果想保存doc文件,请修改savechanges变量的内容:
var
savechanges, originalformat, routedocument: olevariant;
begin
savechanges := wddonotsavechanges;
originalformat := unassigned;
routedocument := unassigned;
try
wordapplication.quit(savechanges, originalformat, routedocument);
wordapplication.disconnect;
except
on e: exception do
begin
showmessage(e.message);
wordapplication.disconnect;
end;
end;
end;
让word打开一个指定的文件,需要先放置opendialog,然后调用wordapplication.documents.open:
var
itemindex :olevariant;
filename, confirmconversions, readonly, addtorecentfiles,
passworddocument, passwordtemplate, revert,
writepassworddocument, writepasswordtemplate, format: olevariant;
begin
if not dlgopen.execute then
exit;
{open document}
filename := dlgopen.filename;
confirmconversions := false;
readonly := false;
addtorecentfiles := false;
passworddocument := '';
passwordtemplate := '';
revert := true;
writepassworddocument := '';
writepasswordtemplate := '';
format := wdopenformatdocument;
wordapplication.documents.open( filename, confirmconversions,
readonly, addtorecentfiles, passworddocument, passwordtemplate,
revert, writepassworddocument, writepasswordtemplate, format );
{assign worddocument component}
itemindex := 1;
worddocument.connectto(wordapplication.documents.item(itemindex));
{turn spell checking of because it takes a long time if enabled and slows down winword}
wordapplication.options.checkspellingasyoutype := false;
wordapplication.options.checkgrammarasyoutype := false;
end;
让word替换标记字符串要使用worddocument.range.find.execute,这里用delphi替换了<#name>:
var
findtext, matchcase, matchwholeword, matchwildcards, matchsoundslike,
matchallwordforms, forward, wrap, format, replacewith, replace: olevariant;
begin
findtext := '<#name>';
matchcase := false;
matchwholeword := true;
matchwildcards := false;
matchsoundslike := false;
matchallwordforms := false;
forward := true;
wrap := wdfindcontinue;
format := false;
replacewith := 'delphi';
replace := true;
worddocument.range.find.execute( findtext, matchcase, matchwholeword,
matchwildcards, matchsoundslike, matchallwordforms, forward,
wrap, format, replacewith, replace );
end;
上面这4段代码完成了公文管理的基本功能,再把它和数据库结合起来,就可以开发一个与lotus notes类似的产品了。
jinjiajun
2003-10-17
打赏
举报
回复
WinExec('winword.exe',SW_SHOWNORMAL);
无聊的小船
2003-10-17
打赏
举报
回复
这个问题,还蛮复杂的吗?得好好考虑!
chw_csdn_chw
2003-10-17
打赏
举报
回复
WinExec(路径+可执行文件名称,SW_SHOWNORMAL);
最好加上路径,因为如果可执行文件在系统默认的环境变量中找不到的话,就无法执行
VFP
调用
外部程序
在VFP中如何
调用
其它程序 ------------------------------------------------------------- Declare Long
Win
Exec
In kernel32 String,Long =
Win
Exec
("notepad.exe",1) Clear Dlls
Win
Exec
(one.exe,SW_SHOW); 里面
VC++ API 常用
函数
例子大全
第
一个
:Find
Win
dow根据窗口类名或窗口标题名来获得窗口的句柄,该
函数
返回窗口的句柄
函数
的定义:HWND
WIN
API Find
Win
dow(LPCSTR lpClassName ,LPCSTR lp
Win
dowName);第
一个
参数填窗口的类名,第二个填窗口的标题名,其实是不需要同时填两个参数的,也就是说,你只要知道窗口的类名或窗口的标题就可以了,没有的那个就用NULL代替。比如现在有
一个
窗口名为"无标题.txt - 记事本"的记事本程序。那么我就可以用上面的
函数
获得这个窗口的句柄,那获得了这个窗口
执行
一个
外部程序并等待他的结束
执行
一个
外部程序并等待他的结束 //下面的
函数
执行
一个
程序并且等他的结束。 //在外部程序结束运行之前,不能做任何操作! //EXL:
Win
Exec
W('C:\
Win
dows\NOtePad.exe', '', sw_show); Function
Win
Exec
W(CMD, WorkDir: PChar; Visialbe: integer):D
WORD
; var StartupInfo: TS...
Win
dows.h 常用API
函数
【转】
// 第
一个
:Find
Win
dow根据窗口类名或窗口标题名来获得窗口的句柄,该
函数
返回窗口的句柄, // 这个
函数
的定义是这样的 HWND
WIN
API Find
Win
dow(LPCSTR lpClassName,LPCSTR lp
Win
dowName);第
一个
参数填窗口的类名,第二个填窗口的标题名,其实是不需要同时填两个参数的,也就是说,你只要知道窗口的类名或窗口的标题就可以了,没有的那个就用NULL代替。比如现在有
一个
窗口名为"无标题.txt - 记事本"的记事本程序。那么我就可以用上面的
函数
获得这个窗
win
dows常用API
函数
win
dows常用API
函数
http://www.vbgood.com/api.html http://hi.baidu.com/3582077/item/9cc3483b581f53c5392ffae3 第
一个
:Find
Win
dow根据窗口类名或窗口标题名来获得窗口的句柄,该
函数
返回窗口的句柄, 这个
函数
的定义是这样的 HWND
WIN
API Find
Win
d
Delphi
5,388
社区成员
262,730
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章