


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Foxtable常用代碼匯總1 Col打開列窗口WithTables("職工").Cols("照片").OpenWindow()2 .Cols("備注”).CloseWindow()EndWith按鈕或菜單Col關(guān)閉列窗口WithTables("職工").Cols("照片").OpenWindow()3 .Cols("備注").CloseWindow()EndWith按鈕或菜單Col移動列到指定位置WithTables("訂單").Cols("日期”).M
2、ove(0).Cols("客戶").Move(1)4 .Cols("產(chǎn)品").Move(2)EndWith按鈕或菜單將日期、客戶、產(chǎn)品移到前三列的位置Col凍結(jié)列CurrentTable.Cols.Frozen=2按鈕或菜單凍結(jié)前兩列Col取消凍結(jié)列CurrentTable.Cols.Frozen=0按鈕或菜單Col從Table中移除指定的列IfTables("訂單").Cols.Contains("折扣")Then5 Tables("訂單”).Cols.Remove("折扣")End
3、If按鈕或菜單在訂單表中移除折扣列Col一次移除多列Tables("訂單").Cols.Remove("折扣”,”金額")按鈕或菜單DataCol鎖定某表某列DataTables("訂單").DataCols("折扣").AllowEdit=False按鈕或菜單DataCol取消鎖定某表某列DataTables("訂單").DataCols("折扣").AllowEdit=True按鈕或菜單DataCol動態(tài)地修改表達式列的計算公式DataTables("訂單&qu
4、ot;).DataCols("金額”'Expression="數(shù)量*單價”DataTables("訂單").DataCols("金額”'Expression="數(shù)量*單價*(1-折扣)"按鈕或菜單Expression屬性只對表達式列有效DataCol返回列的名稱ForEachdcAsDataColInDataTables("訂單").DataColsOutput.Show(dc.Name)Next按鈕或菜單列出訂單表中所有列的名稱DataCol增加臨時列,并可給臨時列設(shè)置表達式DataTa
5、bles(”訂單”).DataCols.Add(”金額",GetType(Double),"數(shù)量*單價*(1-折扣)")按鈕或菜單通過代碼增加的臨時列,在重新打開項目文件后,將不復存在DataCol刪除臨時列IfDataTables("訂單”).DataCols.Contains(”金額")ThenDataTables("訂單”).DataCols.Delete(”金額")EndIf按鈕或菜單通過Add方法增加的臨時列,可以用Delete方法刪除DataCol一列設(shè)公式,另列得結(jié)果Ife.DataCol.Name="
6、;第一列”ThenIfe.DataRow.IsNull(”第一列”)Thene.DataRow("第二列”)=NothingElsee.DataRow("第二列”)=Eval(e.DataRow("第一列”),e.DataRow)EndIfEndIfDataColChanged事件假定希望根據(jù)第一列輸入的計算公式,在第二列得出計算結(jié)果DataRow刪除行DataTables("訂單”).DataRows(0).Delete()按鈕或菜單刪除訂單表中的第一行Delete會返回邏輯值,如果刪除成功,則返回True,否則返回FalseDataRow重新加載行D
7、ataTables("訂單”).DataRows(1).Load()按鈕或菜單重新加載訂單表的第二行DataRow撤銷修改DataTables("訂單”).DataRows(1).Load(False)按鈕或菜單撤銷對訂單表第二行的修改DataRowDataTable中增加一行WithDataTables("訂單").DataRows.AddNew()'增加一行EndWith按鈕或菜單DataRow刪除指定位置的行WithDataTables("訂單").DataRows.Delete(0)'刪除第一行EndWith按
8、鈕或菜單DataRow清除所有行WithDataTables("單").DataRows.Delete(0)'刪除第一行EndWith按鈕或菜單ife.DataCol.Name="開始時間"Thenifdr.IsNull("開始時間")=falseThendr("月")=dr("開始時間").MonthElsedr("月")=Nothing22 EndIfEndIf表DataColChanged事件DataRow新增行編號自動加1e.DataRow("編號&
9、quot;)=e.DataTable.Compute("Max(編號)")+1DataRowAdding事件假定表中有一個編號列,希望新增行的時候,編號列能夠自動加1這個例子其實沒有什么意義的,對于外部表使用自動增量主鍵列,對于內(nèi)部表使用表達式列引用內(nèi)部編號列"_Identidy是更好的選擇。DataTable獲得指定名稱的DataTableDimdtAsDataTabledt=DataTables("訂單")按鈕或菜單DataTable鎖定表DataTables("訂單").AllowEdit=False按鈕或菜單Allo
10、wEdit屬性DataTable取消鎖定表DataTables("訂單").AllowEdit=True按鈕或菜單AllowEdit屬性DataTable按回車鍵向下移動光標DataTables("訂單”).EnterKeyActionDown=True按鈕或菜單EnterKeyActionDown屬性DataTable在DataTable中增加一行,DimdrAsDataRow按鈕或菜單其實我們很少直接向DataTabDataTable保存數(shù)據(jù)DataTables("訂單”).Save()按鈕或菜單單保存數(shù)據(jù)DataTable同時保存數(shù)據(jù)和設(shè)置Data
11、Tables("訂單”).Save(True)按鈕或菜單保存設(shè)置比較耗時,會影響保存速度。菜單中的保存命令是同時保存數(shù)據(jù)和設(shè)置的。DataTable自制保存按鈕ForEachdtAsDataTableInDataTables按鈕或菜單這個按鈕就能保存所有表,但是不會保存設(shè)置;對于一個成熟的、已經(jīng)交付使用的項目,有時是沒有必要保存設(shè)置的。23 DataTable刪除符合條件的行DataTables("訂單”).DeleteFor("日期#2/1/2007#”)按鈕或菜單刪除訂單表中2007年2月1日以前的行DataTable對新增行設(shè)置初始值DimrAsRow=Cu
12、rrentTable.Rows.AddNew()r("")=User.Namer("日期")=Date.Today按鈕或菜單上述的代碼首先在當前表增加一行,然后將新增行的列設(shè)為當前用戶名,日期列設(shè)為當天日期。User表示當前登錄用戶,我們會在后續(xù)章節(jié)介紹它。提示:此方法和Table的AddNew方法完全等效。24 DataTable在DataTable查找符合條件的行DimdrAsDataRowdr=DataTables("產(chǎn)品”).Find("產(chǎn)品編號='03”)找出編號為03的產(chǎn)品WithDataTables("
13、訂單")dr=.Find("產(chǎn)品='PD01'","日期")'找出第一次訂購PD01產(chǎn)品的記錄dr=.Find("產(chǎn)品='PD01'","日期”,1)'找出第二次訂購PD01產(chǎn)品的記錄EndWith按鈕或菜單DataTable以集合的形式,返回所有符合指定條件的行DimdrsAsList(OfDataRow)drs=DataTables("訂單”).Select("產(chǎn)品='PD01'And日期=#1/4/1999#”)ForEach
14、drAsDatarowIndrsDataTable班級自動生成總分排名獲得所有班級名稱,保存在集合中DimbjsAsList(OfString)=DataTables("成績表”).GetUniqueValues("”,”班級")ForEachbjAsStringInbjs'獲得該班級的全部行,按總分降序排序DimdrsAsList(OfDataRow)=DataTables(”成績表”).Select(”班級="&bj,”總分DESC”)FornAsinteger=0Todrs.Count-1'遍歷所有行Ifn>0AndA
15、lsodrs(n)(”總分")=drs(n-1)("總分")Then'如果總分和上一行相同drs(n)(”總分排名”)=drs(n-1)(”總分排名”尸則排名等于上一行Elsedrs(n)("總分排名")=n+1'設(shè)置排名EndIfNextDataTable找出符合條件的行,并將指定列的內(nèi)容替換為指定值DataTable選定某一區(qū)域CurrentTable.Select(1,2,7,6)按鈕或菜單選定當前表第二行第三列至第八行第7列之間的區(qū)域DataTable選定指定位置的單元格CurrentTable.Select(0,0)按
16、鈕或菜單選定當前表的第1行第1列DataTable選定整個某列CurrentTable.Select(0,1,CurrentTable.Rows.Count-1,1)按鈕或菜單選定整個第二列DataTable保存并重新加載所有表ForEachdtAsDataTableInDataTablesNext按鈕或菜單在多人同時編輯數(shù)據(jù)的時候,通過執(zhí)行此方法,可以得到最新的數(shù)據(jù)DataTable設(shè)置加載條件重新加載WithDataTables("訂單").LoadFilter=”產(chǎn)品='PD01'".Load()EndWith按鈕或菜單加載產(chǎn)品為PD01的訂
17、單DataTable撤銷對表A的修改DataTables(”表A”).RejectChanges()按鈕或菜單撤銷自打開文件或最近一次保存以來,對該表做出的修改DataTable移除符合條件的行DataTables(”訂單”).RemoveFor(”產(chǎn)品='PD01'")按鈕或菜單DataTable根據(jù)條件統(tǒng)計表中數(shù)據(jù)DimTotalAsIntegerDimAmountAsDoubleWithDataTables("訂單")Total=.Compute("Sum(數(shù)量)")Amount=.Compute("Sum(金額
18、)")EndWith按鈕或菜單計算總的銷售數(shù)量和金額DataTable根據(jù)條件統(tǒng)計表中數(shù)據(jù)DimTotalAsLongTotal=DataTables("訂單”).Compute("Sum(數(shù)量)”,”產(chǎn)品='PD01'")按鈕或菜單計算產(chǎn)品PD01的銷售數(shù)量DataTable根據(jù)條件統(tǒng)計表中數(shù)據(jù)DimCustomersAsList(OfString)DimTotalAsIntegerCustomers=DataTables("訂單”).GetUniqueValues(二"客戶")ForEachCustome
19、rAsStringInCustomersTotal=DataTables("訂單”).Compute("Sum(數(shù)量)","客戶='"&Customer&"”')Output.Show(Customer&":"&Total)Next按鈕或菜單計算每個客戶的訂購數(shù)量47 DataTable48 DataTables刪除通過代碼增加的臨時表。刪除表DataTables.Delete("統(tǒng)計表1”)按鈕或菜單按條件填充并求和dimfAsNewFillerf.Sou
20、rceTable=DataTables("人員表")'指定數(shù)據(jù)來源f.SourceCols=",性別”指定數(shù)據(jù)來源列f.DataTable=DataTables("發(fā)放記錄")'指定數(shù)據(jù)接收表f.DataCols=",性別"'指定數(shù)據(jù)接收列f.Fill()'填充數(shù)據(jù)ForEachdrAsDataRowInDataTables("發(fā)放記錄”).DataRowsdr("工資")=DataTables("人員表”).Compute("Sum(工資)&
21、quot;,"='"&dr("")&"'And月='"&m&”m)ifdr.IsNull("發(fā)放日期")=TrueThendr("發(fā)放日期")=dEndIfNext按鈕或菜單DataTables按條件重新加載數(shù)據(jù)DataTables("訂單").LoadFilter="日期=#"&Date.Today&"#"DataTables("訂單").Lo
22、ad()DELETE語句刪除指定條件的行DELETEFROM(訂單WHEREYear(日期)=1998按鈕或菜單表示刪除1998年的訂單EXCEL報表Table保存為Excel文件中的一個工作表CurrentTable.SaveExcel("C:datatest.xls”,”訂單",False)按鈕或菜單SaveExcel(FileName,SheetName,SelectedRowsOnly)FileName:目標Excel文件名,含路徑。SheetName:工作表名。SelectedRowsOnly:邏輯型,設(shè)為True,只保存選定行,否則包括所有行。EXCEL報表打印
23、模板DimBookAsNewXLS.Book(ProjectPath&出庫單.xls")Book.Build()'生成細節(jié)區(qū)Book.Save("c:reportstest.xls")'保存工作簿DimProcAsNewProcess'打開工作簿Proc.File="c:reportstest.xls"Proc.Start()按鈕或菜單如果Book來自于一個模板文件,必須先調(diào)用方法,才能生成細節(jié)區(qū)。49 EXCEL報表將DataList的內(nèi)容保存為Excel文件中的一個工作表。DimdstAsWinForm.Da
24、taList=e.Form.Controls("DataList1")dst.SaveExcel("C:datatest.xls","訂單",False)按鈕或菜單SaveExcel(FileName,SheetName,SelectedRowsOnly)FileName:目標Excel文件名,含路徑。SheetName:工作表名。SelectedRowsOnly:邏輯型,設(shè)為True,只保存選定行,否則包括所有行。EXCEL報表報表中插入一行DimBookAsNewXLS.Book("c:reportstest.xls&q
25、uot;)'定義一個ExcelX作簿DimSheetAsXLS.Sheet=Book.Sheets(0)'引用工作簿的第一個工作表Sheet.Rows.Insert(0)'在最前面插入一行Book.Save("c:reportstest.xls")DimProcAsNewProcessProc.File="c:reportstest.xls"Proc.Start()按鈕或菜單EXCEL報表報表中插入一列DimBookAsNewXLS.Book("c:reportstest.xls")'定義一個Excel
26、X作簿DimSheetAsXLS.Sheet=Book.Sheets(0)'引用工作簿的第一個工作表Sheet.Cols.Insert(0)'在最前面插入一列Book.Save("c:reportstest.xls")DimProcAsNewProcessProc.File="c:reportstest.xls"Proc.Start()按鈕或菜單EXCEL報表代碼生成報表導出報表DimdtAsTable=Tables("訂單")DimBookAsNewXLS.Book'定義一個Excel工作簿DimSheetA
27、sXLS.Sheet=Book.Sheets(0)'引用工作簿的第一個工作表DimStyleAsXls.Style=Book.NewStyle'新建一個樣式Style.BackColor=Color.Red'樣式的背景顏色設(shè)為紅色ForcAsInteger=0Todt.Cols.Count-1'添加列標題Sheet(0,c).Value=dt.Cols(c).NameNextForrAsInteger=0Todt.Rows.Count-1'填入數(shù)據(jù)ForcAsInteger=0Todt.Cols.Count-1Sheet(r+1,c).Value=dt.
28、rows(r)(c)NextSheet(r+1,dt.Cols("折扣”).Index).Style=Style'設(shè)置折扣單元格的樣式EndIfNextSt2.Format="yyyy-MM-dd"Sheet.Cols(dt.Cols("日期").Index).Style=st2'打開工作簿Book.Save("c:reportstest.xls")DimProcAsNewProcessProc.File="c:reportstest.xls"Proc.Start()按鈕或菜單帶樣式導出E
29、XCEL報表設(shè)置行高、樣式及強制換頁DimBookAsNewXLS.Book("c:reportstest.xls")'定義一個Excel工作簿DimSheetAsXLS.Sheet=Book.Sheets(0)'引用工作簿的第一個工作表DimStyleAsXLS.Style=Book.NewStyle()'定義新樣式Style.ForeColor=Color.Red'設(shè)置樣式的字體顏色Sheet.Rows(0).Height=40'設(shè)置第1行的行高Sheet.Rows(0).Style=Style'設(shè)置第1行的樣式Sheet
30、.Rows(20).PageBreak=True'在第21行處強制換頁Book.Save("c:reportstest.xls")DimProcAsNewProcessProc.File="c:reportstest.xls"Proc.Start()按鈕或菜單EXCEL報表設(shè)置列寬、樣式及分頁DimBookAsNewXLS.Book("c:reportstest.xls")'定義一個Excel工作簿DimSheetAsXLS.Sheet=Book.Sheets(0)'引用工作簿的第一個工作表DimStyleAs
31、XLS.Style=Book.NewStyle()'定義新樣式Style.ForeColor=Color.Red'設(shè)置樣式的字體顏色Sheet.Cols(0).Width=120'設(shè)置第1列的寬度Sheet.Cols(0).Style=Style'設(shè)置第1列的樣式Sheet.Cols(4).PageBreak=True'在第5列處強制分頁Book.Save("c:reportstest.xls")DimProcAsNewProcessProc.File="c:reportstest.xls"Proc.Start()
32、按鈕或菜單EXCEL報表單元格樣式、超鏈接DimBookAsNewXLS.Book()'定義一個Excel工作簿DimSheetAsXLS.Sheet=Book.Sheets(0)'引用工作簿的第一個工作表DimStyleAsXLS.Style=Book.NewStyle()'定義新樣式Style.ForeColor=Color.Red'設(shè)置樣式的字體顏色Sheet(0,0).Style=StyleSheet(0,0).Value="郵件"Sheet(0,0).Hyperlink="Mailto:zjtdr”Book.Save(&q
33、uot;c:reportstest.xls")DimProcAsNewProcessProc.File="c:reportstest.xls"Proc.Start()按鈕或菜單EXCEL報表縮放打印DimBookAsNewXLS.Book'定義一個Excel工作簿DimSheetAsXLS.Sheet=Book.Sheets(0)'引用工作簿的第一個工作表WithSheet.PrintSetting.AutoScale=True'自動縮放.FitPagesDown=1'垂直方向縮為1頁EndWithForiAsInteger=0To
34、50'向工作表的單元格中設(shè)置值Sheet(i,0).Value=(i+1)*10Sheet(i,1).Value=(i+1)*100Sheet(i,2).Value=(i+1)*1000NextBook.Save("c:reportstest.xls")'保存工作簿DimProcAsNewProcess'打開工作簿Proc.File="c:reportstest.xls"Proc.Start()按鈕或菜單EXCEL報表頁面設(shè)置DimBookAsNewXLS.BookDimSheetAsXLS.Sheet=Book.Sheets(0
35、)WithSheet.PrintSetting.PaperKind=9'設(shè)為A4紙.LandScape=True'橫向打印.MarginLeft=20'左右邊距設(shè)為20毫米.MarginRight=20.MarginTop=15'上下邊距設(shè)為15毫米.MarginBottom=15EndWith按鈕或菜單EXCEL報表頁眉頁腳DimBookAsNewXLS.Book'定義一個Excel工作簿DimSheetAsXLS.Sheet=Book.Sheets(0)'引用工作簿的第一個工作表WithSheet.PrintSetting'頁眉左邊為
36、日期,中間為時間,右邊為表名.Header="&L&D&C&T&R&A"'在頁腳右邊打印頁號和總頁數(shù).Footer="&R第&P頁,總&N頁"EndWithForiAsInteger=0To100'向工作表的單元格中設(shè)置值Sheet(i,0).Value=(i+1)*10Sheet(i,1).Value=(i+1)*100Sheet(i,2).Value=(i+1)*1000NextBook.Save("c:reportstest.xls")
37、9;保存工作簿DimProcAsNewProcess'打開工作簿Proc.File="c:reportstest.xls"Proc.Start()按鈕或菜單EXCEL報表打印模式、頁面居中、網(wǎng)絡(luò)線、標題等DimBookAsNewXLS.Book'定義一個Excel工作簿DimSheetAsXLS.Sheet=Book.Sheets(0),引用工作簿的第一個工作表WithSheet.PrintSetting.BlackAndWhite=True'用黑白模式打印,即使你安裝的是彩色打印.CenterHorizontal=True'表格水平方向頁面
38、居中.CenterVertical=True'表格垂直方向頁面居中.PrintGridlines=True'打印網(wǎng)格線.PrintHeaders=True打印列標題EndWithForiAsInteger=0To100'向工作表的單元格中設(shè)置值Sheet(i,0).Value=(i+1)*10Sheet(i,1).Value=(i+1)*100Sheet(i,2).Value=(i+1)*1000NextBook.Save("c:reportstest.xls")'保存工作簿DimProcAsNewProcess'打開工作簿Proc.
39、File="c:reportstest.xls"Proc.Start()按鈕或菜單EXCEL報表單元格對齊數(shù)據(jù)DimBookAsNewXLS.Book(),定義一個Excel工作簿DimSheetAsXLS.Sheet=Book.Sheets(0),引用工作簿的第一個工作表DimStyleAsXLS.Style=Book.NewStyle()'定義新樣式Style.ForeColor=Color.Red'設(shè)置樣式的字體顏色Sheet.Rows(0).Height=50Sheet.Cols(0).Width=120Sheet(0,0).Value="
40、郵件"Sheet(0,0).Style=StyleBook.Save("c:reportstest.xls")DimProcAsNewProcessProc.File="c:reportstest.xls"Proc.Start()按鈕或菜單下面兩個屬性用于對齊數(shù)據(jù)。AlignHorz設(shè)置水平對齊方式,XLS.AlignHorzEnum型枚舉,主要可選值有:Center:居中General:默認Left:靠左Right:靠右AlignVert設(shè)置垂直對齊方式,XLS.AlignVertEnum,主要可選值有:Bottom:靠底Center:居中T
41、op:靠上Undefined:默認EXCEL報表單元格背景顏色和字體顏色DimdtAsTable=Tables("訂單")DimBookAsNewXLS.Book'定義一個Excel工作簿DimSheetAsXLS.Sheet=Book.Sheets(0)'引用工作簿的第一個工作表DimStyleAsXls.Style=Book.NewStyle'新建一個樣式Style.BackColor=Color.Red'樣式的背景顏色設(shè)為紅色DimStyle1AsXls.Style=Book.NewStyle'新建一個樣式Style1.Fore
42、Color=Color.Blue'樣式的字體顏色設(shè)為藍色按鈕或菜單EXCEL報表單元格邊框設(shè)置DimBookAsNewXLS.Book()'定義一個Excel工作簿DimSheetAsXLS.Sheet=Book.Sheets(0)'引用工作簿的第一個工作表DimStyleAsXLS.Style=Book.NewStyle()'定義新樣式ForrAsInteger=1to5ForcAsInteger=1To5Sheet(r,c).Style=StyleNextNextBook.Save("c:reportstest.xls")DimProcA
43、sNewProcessProc.File="c:reportstest.xls"Proc.Start()按鈕或菜單屬性說明備注BorderTop返回或設(shè)置上邊框的類型。XLS.LineStyleEnum型枚舉,主要可選值有:Dashed:虛線Dotted:點線Double:雙實線Hair:頭發(fā)絲一樣的細線(一個像素)Medium:中等實線MediumDashDotDotted:中等的(短線+點+點)MediumDashDotted:中等的(短線+點)MediumDashed:中等虛線None:無Thick:粗線Thin:細線ThinDashDotDotted:細(短線+點+
44、點)ThinDashDotted:細(短線+點)BorderBottom返回或設(shè)置下邊框的類型。BorderLeft返回或設(shè)置左邊框類型。BorderRight返回或設(shè)置右邊框類型。BorderColorTop返回或設(shè)置上邊框顏色BorderColorBottom返回或設(shè)置下邊框顏色BorderColorLeft返回或設(shè)置左邊框顏色BorderColorRight返回或設(shè)置上邊框顏色EXCEL報表單元格斜線設(shè)置DimBookAsNewXLS.Book()DimSheetAsXLS.Sheet=Book.Sheets(0)DimStyleAsXLS.Style=Book.NewStyle()Fo
45、rrAsInteger=1to2ForcAsInteger=1To2Sheet(r,c).Style=StyleNextNextBook.Save("c:reportstest.xls")DimProcAsNewProcessProc.File="c:reportstest.xls"Proc.Start()按鈕或菜單和斜線設(shè)置有關(guān)的屬性:Diagonal返回或設(shè)置斜線的方向,XLS.DiagonalEnum型枚舉,可選值有:Backward:反斜線Forward:斜線None:無DiagonalColor返回或設(shè)置斜線顏色DiagonalStyle返回或
46、設(shè)置斜線的類型,XLS.LineStyleEnum型枚舉,主要可選值有:Dashed:虛線Dotted:點線Double:雙實線Hair:頭發(fā)絲一樣的細線(一個像素)Medium:中等實線MediumDashDotDotted:中等的(短線+點+點)MediumDashDotted:中等的(短線+點)MediumDashed:中等虛線None:無Thick:粗線Thin:細線ThinDashDotDotted:細(短線+點+點)ThinDashDotted:細(短線+點)EXCEL報表單元格內(nèi)容自動換行DimdtAsTable=Tables("訂單")DimBookAsNe
47、wXLS.Book'定義一個Excel工作簿DimSheetAsXLS.Sheet=Book.Sheets(0)'引用工作簿的第一個工作表DimStyleAsXls.Style=Book.NewStyle'新建一個樣式Style.WordWrap=True'單元格內(nèi)容自動換行按鈕或菜單EXCEL報表在Excel報表模板中插入一個標記DimBookAsNewXLS.Book("c:book5.xls")Book.Marks.Add("用戶名”,User.Name)Book.Build()Book.Save("c:report
48、stest.xls")DimProcAsNewProcessProc.File="c:reportstest.xls"Proc.Start()按鈕或菜單利用Marks集合,我們可以在報表模板中插入標記,然后在生成報表的時候,將標記替換為真正的值。在Excel報表模板中插入一個標記的格式為:標記名稱例如假定報表中某個位置需要打印出當前登錄用戶的名稱,我們可以在設(shè)計報表的時候,在該處插入標記:用戶名標記的名稱可以根據(jù)需要取。然后在生成報表之前,利用Marks集合,將標記替換為真正的用戶:EXCEL報表插入圖片DimBookAsNewXLS.Book'定義一個E
49、xcel工作簿DimSheetAsXLS.Sheet=Book.Sheets(0)'引用工作簿的第一個工作表ForiAsInteger=0To9'向工作表的單元格中設(shè)置值Sheet(i,0).Value=(i+1)*10Sheet(i,1).Value=(i+1)*100Sheet(i,2).Value=(i+1)*1000NextSheet(10,2).Value=NewXLS.Picture(GetImage("c:Foxtable.Ico")Book.Save("c:reportstest.xls")'保存工作簿DimPro
50、cAsNewProcess'打開工作簿Proc.File="c:reportstest.xls"Proc.Start()按鈕或菜單單元格的Value屬性,不僅可以設(shè)置為數(shù)據(jù),還可以設(shè)置為一個XLS.Picture對象。XLS.Picture用于定義一個可插入到Excel單元格的圖片,語法為:NewXLS.Picture(Image)或NewXLS.Picture(Image,Left,Top,Width,Height)參數(shù):Image:要插入的圖片。Left:左邊距,單位為像素。Top:上邊距,單位為像素。Width:寬度,單位為像素。Height:高度,單位為像素
51、??捎肎etImage函數(shù)從指定的圖標文件中獲得圖標,如果文件已經(jīng)事先復制到管理項目的Images子目錄下,則只需指定文件名即可,否則需要包括路徑。EXCEL報表在Excel報表模板中加上制單人信息DimBookAsNewXLS.Book(ProjectPath&出庫單.xls")'打開模板DimSheetAsXLS.Sheet=Book.Sheets(0)Sheet(6,6).Value="制單人:"&User.Name'修改模板,加入制單人信息Book.Build()'生成細節(jié)區(qū)Book.Save("c:rep
52、ortstest.xls")'保存工作簿DimProcAsNewProcess'打開工作簿Proc.File="c:reportstest.xls"Proc.Start()按鈕或菜單Row當前選定的行DimdrAsRow=Tables("訂單").Current按鈕或菜單Row刪除選定行Tables("訂單”).Current.Delete()按鈕或菜單Row克隆第一行Tables("訂單”).Rows(0).Clone()按鈕或菜單Row移除當前表的選定行CurrentTable.Current.Remov
53、e()按鈕或菜單移除和刪除是不同的,移除只是使得表中暫時不再包括該行,就像該行從來沒有被加載過一樣;不管你是否保存文件,下次打開后,被移除的行還會出現(xiàn)。50 Row序號列自動賦值WithTables("常用代碼")ForiASinteger=0To.Rows.Count-1.Rows(i)("xh")=i+1NextEndWith按鈕或采單77Table第一行CurrentTable.Position=0按鈕或采單78Table最末行CurrentTable.Position=CurrentTable.Rows.Count-1按鈕或采單79Table上一
54、行CurrentTable.Position=CurrentTable.Position-1按鈕或采單80Table下一行CurrentTable.Position=CurrentTable.Position+1按鈕或采單81Table刪除行CurrentTable.Current.Delete按鈕或采單82Table新增行CurrentTable.AddNew()按鈕或采單83Table隱藏指定行隱藏第五行:CurrentTable.Position=4Syscmd.Row.HideSelectedRows()按鈕或菜單84Table隱藏所有行withcurrentTable.select(
55、0,0,.rows.count-1,0)Syscmd.Row.HideSelectedRows()EndWith85 按鈕或菜單Table顯示所有行IfCurrentTableIsNothingThenReturnElseEndIf按鈕或菜單Table選定整個表WithTables("訂單").Select(0,0,.Rows.Count-1,.Cols.Count-1)EndWith86 按鈕或菜單Table選定數(shù)量列WithTables("訂單")DimcAsInteger=.Cols("數(shù)量").Index87 .Select(
56、0,c,.Rows.Count-1,c)EndWith按鈕或菜單Table重置當前表選定列WithCurrentTable.Cols(.ColSel).DataCol.RaiseDataColChanged()EndWith按鈕或菜單要重置當前表選定列,但是Col并沒有重置列的方法,我們只能調(diào)用DataCol的RaiseDataColChanged方法Table當前表增加一行CurrentTable.AddNew()按鈕或菜單Table在關(guān)聯(lián)表產(chǎn)品.訂單”中增加10行Tables("產(chǎn)品.訂單").AddNew(10)按鈕或菜單和DataTable的AddNew方法相比,用
57、Table的AddNew方法增加行有以下優(yōu)點:1、光標會自動移到新增加的行。2、如果在關(guān)聯(lián)子表中增加行,其關(guān)聯(lián)列內(nèi)容會自動填入。所以大多數(shù)時候,我們用Table的AddNew方法增加行,因為這樣更方便。Table條件篩選Tables("訂單”).Filter="客戶='CS01'And日期>=#1/1/2007#And日期<=#12/31/2007#"按鈕或菜單在訂單表中需要篩選出客戶為"CS01",訂購日期為2007年的記錄Table條件篩選Tables("訂單”).Filter="折扣IsNu
58、ll"按鈕或菜單篩選出折扣為空的記錄Table根據(jù)日期排序Tables("訂單").Sort="日期”按鈕或菜單Table根據(jù)客戶和日期排序,其中日期為降序Tables("訂單").Sort="客戶,日期DESC”按鈕或菜單根據(jù)客戶和日期排序,其中日期為降序,也就是相同客戶的訂單,最新的訂單排在前面Table取消排序Tables("訂單").Sort=""按鈕或菜單Table重新加載當前行Tables("訂單”).Current.DataRow.Load()按鈕或菜單Tabl
59、e條件設(shè)置當前行內(nèi)容Tables("訂單").Current("數(shù)量")=100按鈕或菜單將訂單表選定行的數(shù)量列內(nèi)容設(shè)為100Table選擇指定行CurrentTable.Position=2'選擇第三行按鈕或菜單選擇當前表第三行Table根據(jù)指定的表達式和條件進行計算DimSumAsDoubleSum=Tables("訂單”).Compute("Sum(數(shù)量)","產(chǎn)品='PD01'")按鈕或菜單統(tǒng)計訂單表中產(chǎn)品PD01的銷售金額Table在指定列中查找指定的字符內(nèi)容WithCu
60、rrentTableDimrAsIntegerr=.Find("abc”,.RowSel+1,0,False,False,True)Ifr>-1Then'如果找到符合條件的行.Select(r,0)'則選擇該行EndIfEndWith按鈕或菜單在當前表的第一列輸入一些內(nèi)容(別忘記要輸入一些“abc;'然后將上述代碼復制到命令窗口,反復單擊執(zhí)行”按鈕,進行測試。Table用列名稱來指定要查找的列WithCurrentTableDimrAsIntegerr=.Find("PD01”,.RowSel+1,"產(chǎn)品",False,Fa
61、lse,True)Ifr>-1Then'如果找到符合條件的行.Select(r,.Colsel)'則選擇該行EndIfEndWith按鈕或菜單Table根據(jù)指定的條件表達式查找行WithCurrentTableDimrAsIntegerr=.FindRow("公司名稱Like'*湛江*'",.Position+1,True)'從當前行開始查找Ifr>=0Then'如果找到的話.Position=r'定位到找到的行。88 EndIfEndWith按鈕或菜單在當前表中的公司名稱列中,查找包括湛江”二字的單位Ta
62、ble返回指定的數(shù)據(jù)行在Table中的位置DimdrAsDataRowdr=DataTables("訂單”).Find("產(chǎn)品='PD01'","日期Desc")IfdrIsNotNothingThenDimwzAsInteger=Tables("訂單”).FindRow(dr)Ifwz>=0ThenTables("訂單").Position=wzEndIfEndIf按鈕或菜單將光標定位到最后一次訂購PD01產(chǎn)品的訂單Table打開指定名稱的表視圖Tables("訂單").
63、OpenView("視圖一")按鈕或菜單開訂單表中名為"視圖一”的視圖Table將Table保存為Excel文件CurrentTable.SaveExcel("C:datatest.xls”,"訂單”,False)按鈕或菜單Table統(tǒng)計指定區(qū)域的數(shù)據(jù)DimSumAsDoubleWithCurrentTableSum=CurrentTable.Aggregate(AggregateEnum.Sum,.TopRow,.LeftCol,.BottomRow,.RightCol)EndWith按鈕或菜單統(tǒng)計當前表選定區(qū)域的累積值Table打印預覽表C
64、urrentTable.Print(True,False)'打印預覽當前表按鈕或菜單Table設(shè)置標題行高度Tables("表名").SetHeaderRowHeight(20,25)按鈕或菜單表有兩個標題行,希望將標題行的高度分別設(shè)為20和25Table直接打印表.PaperKind=0'紙張類型設(shè)為自定義.PaperWidth=250'寬度設(shè)為250毫米.PaperHeight=120'高度設(shè)為120毫米EndWithCurrentTable.DirectPrint(True,False)'打印預覽89 按鈕或菜單Table打開打
65、印設(shè)置對話框CurrentTable.PrintSetting()按鈕或菜單Table輸入焦點移到Table中IfCurrentTable.FocusThen'將輸入焦點移至U當前表CurrentTable.StartEditing'如果成功,則開始編輯。EndIf按鈕或菜單如果成功地將輸入焦點移到Table中,則返回True,否則返回False。Table當前表當前行指定列的值:currenttable.current(CurrentTable.ColSel)按鈕或菜單113表事件某一列的內(nèi)容發(fā)生變化前執(zhí)行Ife.DataCol.Name="折扣"Then
66、'如果是折扣列的內(nèi)容發(fā)生變化。Ife.NewValue>0.15Then'如果輸入的內(nèi)容大于0.15。e.NewValue=0.15'那么改為0.15。EndIf114表事件實現(xiàn)代碼輸入Ife.DataCol.Name="產(chǎn)品"Then'如果是產(chǎn)品列的內(nèi)容發(fā)生變化。Ife.NewValue="tv"Then'如果新值是"tv”。e.NewValue="電視機"'那么將"tv"替換為"電視機"ElseIfe.NewValue=&quo
67、t;tel"'如果新值是"tel"e.NewValue="機"'那么將"tel"替換為"機"EndIfEndIfDataColChanging事件產(chǎn)品列輸入tv,將自動替換為電視機,如果輸入tel,自動替換為機115表事件某一列的內(nèi)容被更改后執(zhí)行Ife.DataCol.Name="已結(jié)帳"Then'如果是已結(jié)帳列的內(nèi)容變動Ife.NewValue=TrueThen'而且變動后的值是True(已勾選)e.DataRow.Locked=True'那么鎖定此行EndIfEndIfDataColChanged事件對于已結(jié)帳的行,能夠自動通過審核(鎖定),以免被誤編輯。116表事件某一列的內(nèi)容被更改后執(zhí)行Ife.DataCol.Name="身份證號碼"Then'是身份證號碼發(fā)生變化嗎?Ife.DataRow.IsNull("身份證號碼")Then'身份證號碼是否為空e.DataRow(”出生日期")=Nothing'如果為空,則清除出生日期Else
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 戶外廣告牌項目施工合同
- 醫(yī)藥行業(yè) 研究報告
- 2025年度按摩師服務(wù)職業(yè)培訓基地合同
- 中醫(yī)護理學(第5版)課件 切診
- 跨境電商物流收費標準
- 50平太陽能光伏發(fā)電
- 城市規(guī)劃建設(shè)指南
- 殘疾人康復中心建設(shè)項目可行性研究報告
- 保險公司裝修保修條款
- 天然氣項目可行性研究報告
- 設(shè)計變更單表格
- 良性前列腺增生診療指南
- 中學生食品安全教育 主題班會課件(18張PPT) 上學期
- 《長方形和正方形》 完整版課件
- 《乘法交換律和結(jié)合律》教學課件數(shù)學四年級下冊
- 趣味數(shù)學-高斯求和 完整版課件
- 花卉生產(chǎn)設(shè)施課件
- 高中體育與健康人教版高中必修全一冊(新課標)第十章體操類運動-技巧模塊計劃
- 云南省主要礦產(chǎn)資源
- 臨床試驗疑難問題解答
- 光伏發(fā)電工程施工組織設(shè)計施工工程光伏發(fā)電工程光伏發(fā)電施工組織設(shè)計
評論
0/150
提交評論