VB中可以一次性將一個陣列的內容,一次性賦值給EXCEL表中的一個區域
ssArr(10,5)是一個10行5列的表格,已經賦值
...
Xlsapp.Sheets(1).Range("A1:E10" ) = ssArr
...
這個賦值是成功的
但在VFP中值,同樣的賦值,結果每一個單格內均為ssArr(1,1)的值,需要通過回圈對每個單元格賦值才能實作,是否有更好的方法?
uj5u.com熱心網友回復:
VFP 好像還真沒有。uj5u.com熱心網友回復:
可以保存為一個excel表,至于寫入excel的話,還是使用scan寫吧uj5u.com熱心網友回復:
下面的代碼是都市夜貓老師寫的代碼,僅供參考:Local ASZ[50,7]
Store [] To ASZ
For lnI=1 To 50
For lnI1=1 To 7
ASZ[lnI,lnI1]=Padl(lnI*lnI1,4,[0])
Endfor
Endfor
Local cc, oo As Excel.Application
m.oo = Newobject('Excel.Application')
If m.oo.Workbooks.Count < 1
m.oo.Workbooks.Add()
Endif
If m.oo.Workbooks(1).Sheets.Count < 1
m.oo.Sheets.Add()
Endif
TEXT to m.cc noshow
Sub ArrayFill(vfparray)
Range("b2").Resize(UBound(vfparray,1), UBound(vfparray,2)).Value = vfparray
End Sub
ENDTEXT
* 執行下面這行需要勾選 Excel 的信任選項: 工具->宏->安全性->可靠發行商->信任對"VB專案"的訪問
m.oo.ActiveWorkbook.VBProject.VBComponents.Add(1).CodeModule.AddFromString(m.cc)
m.oo.Run('ArrayFill', @asz)
m.oo.Visible = .T.
uj5u.com熱心網友回復:
這個VFP中還真沒有,我試過只能用for來解決!轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/80811.html
標籤:VFP
上一篇:VFP 如何在英文系統下錄入中文
