国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

在VB中利用Word宏命令開發(fā)ASP組件

2024-05-04 11:06:33
字體:
來源:轉載
供稿:網(wǎng)友

在mis系統(tǒng)的實際開發(fā)中,我們有時需要將當前頁面上報表的數(shù)據(jù)以word文檔的格式下載到本地,這種實現(xiàn)并不困難。但是有時我們需要對下載的word文檔的格式做一些設置,比如標題顏色,字體大小,字間距等等,這時我們就要用到word自帶的宏功能。

比如我們想將此報表的標題在word文檔中以如下格式顯示:14號字,加粗,居中對齊。首先我們需要在word中錄制相應的宏命令。打開word,新建一文檔,手動敲入一行字,然后選擇工具->宏->錄制新宏命令,為新宏取一個名字如macro1,執(zhí)行以上動作(14號字,加粗,居中對齊),word自動將這些動作保存以相應的vbscript命令。然后選擇工具->宏->宏命令,選擇剛才我們定義的宏macro1,就可以查看其內容了。在此例中我們保存的宏命令如下:

selection.paragraphformat.alignment = wdalignparagraphcenter '居中對齊
selection.font.bold = wdtoggle '加粗顯示
selection.font.size = 14 '14號字

因為宏命令的腳本語言是vbscript,我們不需要做任何改動就可以將上面的語句在vb中使用。這樣,我們就可以編寫出如下vb代碼,實現(xiàn)我們所要求的功能。代碼如下:

wdapp.selection.font.bold = wdtoggle '加粗顯示
wdapp.selection.font.size = 14 '14號字
wdapp.selection.typetext ("報表標題") '報表標題
wdapp.selection.paragraphformat.lignment = wdalignparagraphcenter '居中對齊
wdapp.selection.font.bold = wdtoggle '取消加粗

同樣,我們如想對word文檔進行其他處理,重復以上的步驟就可以了。以下提供我的一個完整的對word文檔進行處理的例子:

private function saveasword(byref myrecord as recordset, byval docfilename as string, byref outmessage as string) as integer
'*************************************************************************
'
'說明:將數(shù)據(jù)集中的數(shù)據(jù)另存為doc文件
'
'參數(shù):
'
'myrecord 數(shù)據(jù)集
'docfilename word文件的名稱(無路徑,路徑見實例變量spath)
'outmessage 操作的的返回信息
'
'返回: 1成功 -1失敗
'
'*************************************************************************

'初始化word應用
err.clear
on error goto err_all
dim wdapp as word.application
set wdapp = createobject("word.application")

'插入數(shù)據(jù)
dim colloop as integer '列號
dim rowloop as integer '行號
dim colmax as integer '列數(shù)
dim rowmax as integer '行數(shù)
dim wdcell as integer '寬
dim unitend as integer '截取結束點
dim unitname as string '單位名稱
dim bbdate as string '報表期別


wdcell = 12
colmax = myrecord.fields.count
rowmax = myrecord.recordcount

wdapp.documents.add

'獲取報表單位
unitend = instr(sbbdetail, "期別")
unitname = mid(sbbdetail, 1, unitend - 2)
bbdate = mid(sbbdetail, unitend, len(sbbdetail))

if myrecord.fields.count >= 10 then
wdapp.activedocument.pagesetup.orientation = wdorientlandscape
else
wdapp.activedocument.pagesetup.orientation = wdorientportrait
end if

'報表名稱
wdapp.selection.font.bold = wdtoggle
wdapp.selection.font.size = 14
wdapp.selection.typetext (sbbmc)
wdapp.selection.paragraphformat.lignment = wdalignparagraphcenter
wdapp.selection.font.bold = wdtoggle
wdapp.selection.typeparagraph

'報表單位名稱
wdapp.selection.font.color = wdcolorblack
wdapp.selection.font.size = 11
wdapp.selection.typetext (unitname)
wdapp.selection.paragraphformat.alignment = wdalignparagraphcenter
wdapp.selection.typeparagraph

'報表期別
wdapp.selection.typetext (bbdate)
wdapp.selection.paragraphformat.alignment = wdalignparagraphcenter
wdapp.selection.typeparagraph
wdapp.selection.typeparagraph

'生成列頭
'wdapp.selection.homekey wdline, wdextend
'dapp.selection.font.bold = wdtoggle

wdapp.activedocument.tables.add wdapp.selection.range, rowmax, colmax
dim i as integer
do
for colloop = 0 to colmax - 1
wdapp.selection.font.size = 9

if i = 0 then

'表格中標題加粗顯示
wdapp.selection.font.bold = wdtoggle

'表格標題行背景顏色設置為灰色,灰度為30
with wdapp.selection.cells
with .shading
.texture = wdtexturenone
.foregroundpatterncolor = wdcolorautomatic
.backgroundpatterncolor = wdcolorgray30
end with
end with

end if
'最后一行右對齊,其余左對齊
if i > 0 then
if myrecord.fields.item(colloop).name = "zbmc" or myrecord.fields.item(colloop).name = "指標名稱" then
wdapp.selection.paragraphformat.alignment = wdalignparagraphleft

|||

收集最實用的網(wǎng)頁特效代碼!

else
wdapp.selection.paragraphformat.alignment = wdalignparagraphright
end if
end if


if i = 0 and (myrecord.fields.item(colloop).name = "sxh" or myrecord.fields.item(colloop).name = "順序號") then
wdapp.selection.typetext ("序號")
else
wdapp.selection.typetext (cstr(myrecord.fields.item(colloop).value))
end if
if (i <> rowmax - 1 or (i = rowmax - 1 and colloop < colmax - 1)) then
wdapp.selection.moveright (wdcell)
end if
next
i = i + 1
myrecord.movenext
loop until myrecord.eof

wdapp.activedocument.saveas docfilename, 0, false, "", true, "", false, false, false, false, false
wdapp.quit

saveasword = 1
exit function

err_all:
set wdapp = nothing
saveasword = -1
outmessage = err.description
exit function
end function

好了,到此為止,我想你們對在vb中利用word宏命令開發(fā)asp組件,有了一些了解。只要多使用,就會很快熟悉的。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 雷州市| 泽库县| 葵青区| 喀喇| 息烽县| 禄劝| 栖霞市| 且末县| 韶山市| 关岭| 辽源市| 项城市| 抚州市| 绥宁县| 乃东县| 黔江区| 凤冈县| 饶河县| 威宁| 蕲春县| 正蓝旗| 灵台县| 和静县| 博罗县| 萨迦县| 仁布县| 鹿泉市| 鄂伦春自治旗| 随州市| 上蔡县| 太和县| 招远市| 南丰县| 康平县| 福海县| 东港市| 绍兴县| 同心县| 庆元县| 光山县| 济源市|