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

本文标签: 存檔採購物料錯誤語法