admin管理员组文章数量:1566682
2024年7月25日发(作者:)
轉 Execl方法
1. 直接把datawindow轉成Excel用於簡單的格式
int value,li_return
string docname, named
value =GetFileSaveName("檔名",docname, named, "EXCEL", "EXCEL Files
(*.XLS),*.XLS,")
if value <> 1 or len(trim(named)) = 0 then
messagebox('錯誤','程式錯誤!!')
return
end if
li_return = dw_(docname, Excel!, false)
if li_return = 1 then
messagebox('','存檔成功,存檔路徑為:' + docname)
else
messagebox('','存檔失敗')
end if
2.可用於比較複雜的報表(Excel比較特殊的功能,可先在
Excel錄製巨集,在把相關語法用於pb中)
value =GetFileSaveName("檔名",docname, named, "EXCEL", "EXCEL Files
(*.XLS),*.XLS,")
if value <> 1 or len(trim(named)) = 0 then
messagebox('錯誤','程式錯誤!!')
return
end if
o1 = create oleobject
tToNewObject("ation")
()
e = FALSE(false為不顯示excel)
('A1').Select()
ntalAlignment = 3
aR1C1 = '採購單號'
('B1').Select()
ntalAlignment = 3
aR1C1 = '採購項次'
('C1').Select()
ntalAlignment = 3
aR1C1 = '物料編號'
('D1').Select()
ntalAlignment = 3
aR1C1 = '尺碼'
('E1').Select()
ntalAlignment = 3
aR1C1 = '供應商'
//------------------
('F1').Select()
ntalAlignment = 3
aR1C1 = '單價'
('G1').Select()
ntalAlignment = 3
aR1C1 = '幣別'
('H1').Select()
ntalAlignment = 3
aR1C1 = '數量'
("A1:H1").Select
s(9).LineStyle = 1
s(9).Weight = 3
dw_t('vender_no a')
dw_()
for i = 1 to dw_nt()
ls_vou_no = dw_mstring(i,'vou_no')
li_vou_item = dw_mnumber(i,'vou_item')
ls_mat_no = dw_mstring(i,'mat_no')
ls_size1 = dw_mstring(i,'size1')
ls_vender_no = dw_mstring(i,'vender_no')
ld_price = dw_mdecimal(i,'price')
li_dollar_id = dw_mnumber(i,'dollar_id')
ld_qty_pur = dw_mdecimal(i,'qty_pur')
//依供應商區分
if i = 1 or ls_vender_no = ls_old_vender then
if i = 1 then
('A' + string( k + i)).Select()
aR1C1 = ls_vender_no
k++
end if
('A' + string( k + i)).Select()
aR1C1 = ls_vou_no
('B' + + string(k + i)).Select()
aR1C1 = li_vou_item
('C' + string(k + i)).Select()
aR1C1 = ls_mat_no
('D' + + string(k + i)).Select()
aR1C1 = ls_size1
('F' + + string(k + i)).Select()
aR1C1 = ld_price
('G' + + string(k + i)).Select()
aR1C1 = li_dollar_id
('H' + string(k + i)).Select()
aR1C1 = ld_qty_pur
ls_old_vender = ls_vender_no
elseif ls_vender_no <> ls_old_vender then
('A' + string( k + i)).Select()
aR1C1 = ls_vender_no
k++
('A' + string( k + i)).Select()
aR1C1 = ls_vou_no
('B' + + string(k + i)).Select()
aR1C1 = li_vou_item
('C' + string(k + i)).Select()
aR1C1 = ls_mat_no
('D' + + string(k + i)).Select()
aR1C1 = ls_size1
('F' + + string(k + i)).Select()
aR1C1 = ld_price
('G' + + string(k + i)).Select()
aR1C1 = li_dollar_id
('H' + string(k + i)).Select()
aR1C1 = ld_qty_pur
ls_old_vender = ls_vender_no
next
end if
(docname)(存檔)
nectObject()
destroy o1
messagebox('','存檔成功,路徑為:' + docname)
3.類似第二種方法(以().Value方法轉
excel )
o1 = Create oleobject
tToNewObject("ation")
()
e = true
= 2
("A1").Select()
ntalAlignment = 3
alAlignment = 3
aR1C1 = '供應商代號'
("B1").Select()
ntalAlignment = 3
alAlignment = 3
aR1C1 = '物料編號'
("C1").Select()
ntalAlignment = 3
alAlignment = 3
aR1C1 = '號頭'
("D1").Select()
ntalAlignment = 3
alAlignment = 3
aR1C1 = '單位'
("E1").Select()
ntalAlignment = 3
alAlignment = 3
aR1C1 = '單價'
("F1").Select()
ntalAlignment = 3
alAlignment = 3
aR1C1 = '幣別'
("G1").Select()
ntalAlignment = 3
alAlignment = 3
aR1C1 = '最新日期'
("H1").Select()
ntalAlignment = 3
alAlignment = 3
aR1C1 = '物料說明'
for li_rowcount = 1 to dw_nt()
(li_rowcount + 1, 1).Value =
dw_mstring(li_rowcount ,'vender_no')
(li_rowcount + 1, 2).Value =
dw_mstring(li_rowcount ,'mat_no')
(li_rowcount + 1, 3).Value =
dw_mstring(li_rowcount ,'size1')
(li_rowcount + 1, 4).Value =
dw_mstring(li_rowcount ,'unit')
(li_rowcount + 1, 5).Value =
dw_mnumber(li_rowcount ,'price')
ll_dollar = dw_mnumber(li_rowcount,'dollar_id')
if ll_dollar = 0 then
ls_dollar = '台幣'
elseif ll_dollar = 1 then
ls_dollar = '港幣'
elseif ll_dollar = 2 then
ls_dollar = '美金'
elseif ll_dollar = 3 then
ls_dollar = '人民幣'
elseif ll_dollar = 4 then
ls_dollar = '台幣'
elseif ll_dollar = 5 then
ls_dollar = '英鎊'
elseif ll_dollar = 6 then
ls_dollar = '德國馬克'
elseif ll_dollar = 7 then
ls_dollar = '日元'
elseif ll_dollar = 8 then
ls_dollar = '里拉'
elseif ll_dollar = 9 then
ls_dollar = '歐元'
elseif ll_dollar = 10 then
ls_dollar = '越南盾'
elseif ll_dollar = 11 then
ls_dollar = '瑞士法郎'
elseif ll_dollar = 12 then
ls_dollar = '盧比/印尼盾'
elseif ll_dollar = 13 then
ls_dollar = '加幣'
end if
(li_rowcount + 1, 6).Value = ls_dollar
ls_day_temp = dw_mstring(li_rowcount ,'mk_date')
(li_rowcount + 1, 7).Value = Left(ls_day_temp,4) + '/' +
Mid(ls_day_temp,5,2) + '/' + Right(ls_day_temp,2)
(li_rowcount + 1, 8).Value =
dw_mstring(li_rowcount ,'matm_mat_nm')
GarbageCollect()
next
s("E:E").Select
FormatLocal = "###,###0.0000_ "
= 1
t
destroy o1
版权声明:本文标题:转Execl方法 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1721858471a901487.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论