PB中的代码,参考:
string docname, named
integer value
value = GetFileSaveName("选择模板文件", docname, named, "DOC", " Doc Files (*.DOC), *.DOC")
if named <> 'modal.doc' then
messagebox("","你没有选择模板文件modal.doc!!!")
return
end if
//messagebox('',docname)
IF value = 1 THEN
// Declare ole_object as an OLEOBJECT data type
OLEObject ole_object
// Create or "Instantiate" the ole_object variable
ole_object = CREATE OLEObject
//连接word
IF ole_object.ConnectToNewObject("Word.Application") <> 0 THEN
MessageBox('OLE错误','OLE无法连接!')
return
END IF
//dw_3.setredraw(false)
string days,check,des,no,pic_name,pic_no,prof,notes
long m,k
no = String(dw_1.GetItemNumber(dw_1.GetRow(),"nums"))
pic_name = dw_1.GetItemString(dw_1.GetRow(),"pic_name")
pic_no = String(dw_1.GetItemNumber(dw_1.GetRow(),"pic_no"))
des = dw_1.GetItemString(dw_1.GetRow(),"design")
check = dw_1.GetItemString(dw_1.GetRow(),"checkman")
prof = dw_1.object.prof[dw_1.GetRow()]
days = String(dw_1.GetItemDate(dw_1.GetRow(),"days"),"yyyy/mm/dd")
notes = dw_1.object.notes[dw_1.GetRow()]
IF isnull(notes) then notes = ' '
ole_object.selection.goto(true,0,0,'no') //将光标移动到书签name
ole_object.selection.typetext(no)
/////////////////////////////////////////////
//如果字符串中有中文的话,在添加的字符串后会生成相应个数的乱码,
//以下四句的作用就是求出字符串中的中文个数,然后将这些乱码删除。
//////////////////////////////////////////////
k=f_num(no) //取出字符串中的中文个数
for m = 1 to k
ole_object.Selection.TypeBackspace()
next
ole_object.selection.goto(true,0,0,'pic_name')
ole_object.selection.typetext(pic_name)
k=f_num(pic_name) //取出字符串中的中文个数
for m = 1 to k
ole_object.Selection.TypeBackspace()
next
ole_object.selection.goto(true,0,0,'pic_no')
ole_object.selection.typetext(pic_no)
k=f_num(pic_no) //取出字符串中的中文个数
for m = 1 to k
ole_object.Selection.TypeBackspace()
next
ole_object.selection.goto(true,0,0,'des')
ole_object.selection.typetext(des)
k=f_num(des) //取出字符串中的中文个数
for m = 1 to k
ole_object.Selection.TypeBackspace()
next
ole_object.selection.goto(true,0,0,'check')
ole_object.selection.typetext(des)
k=f_num(des) //取出字符串中的中文个数
for m = 1 to k
ole_object.Selection.TypeBackspace()
next
ole_object.selection.goto(true,0,0,'prof')
ole_object.selection.typetext(prof)
k=f_num(prof) //取出字符串中的中文个数
for m = 1 to k
ole_object.Selection.TypeBackspace()
next
ole_object.selection.goto(true,0,0,'days')
ole_object.selection.typetext(days)
k=f_num(days) //取出字符串中的中文个数
for m = 1 to k
ole_object.Selection.TypeBackspace()
next
ole_object.selection.goto(true,0,0,'notes')
ole_object.selection.typetext(notes)
k=f_num(notes) //取出字符串中的中文个数
for m = 1 to k
ole_object.Selection.TypeBackspace()
next
//dw_3.setredraw(true)