踏月色而来 發表於 2007-2-28 00:00:00

用vba实现将记录集输出到Excel模板

<P><div class="codetitle"><span><a data="74770" class="copybut" id="copybut74770"><U>复制代码</U></a></span> 代码如下:</div><div class="codebody" id="code74770"><BR>'************************************************&nbsp; <BR>'**&nbsp;函数名称:&nbsp;&nbsp;ExportTempletToExcel&nbsp; <BR>'**&nbsp;函数功能:&nbsp;&nbsp;将记录集输出到&nbsp;Excel&nbsp;模板&nbsp; <BR>'**&nbsp;参数说明:&nbsp; <BR>'**&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strExcelFile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;要保存的&nbsp;Excel&nbsp;文件&nbsp; <BR>'**&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strSQL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;查询语句,就是要导出哪些内容&nbsp; <BR>'**&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strSheetName&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;工作表名称&nbsp; <BR>'**&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;adoConn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;已经打开的数据库连接&nbsp; <BR>'**&nbsp;函数返回:&nbsp; <BR>'**&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Boolean&nbsp;类型&nbsp; <BR>'**&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;True&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;成功导出模板&nbsp; <BR>'**&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;False&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;失败&nbsp; <BR>'**&nbsp;参考实例:&nbsp; <BR>'**&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Call&nbsp;ExportTempletToExcel(c:\\text.xls,查询语句,工作表1,adoConn)&nbsp; <BR>'************************************************&nbsp; <BR>Private&nbsp;Function&nbsp;ExportTempletToExcel(ByVal&nbsp;strExcelFile&nbsp;As&nbsp;String,&nbsp;_&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ByVal&nbsp;strSQL&nbsp;As&nbsp;String,&nbsp;_&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ByVal&nbsp;strSheetName&nbsp;As&nbsp;String,&nbsp;_&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ByVal&nbsp;adoConn&nbsp;As&nbsp;Object)&nbsp;As&nbsp;Boolean&nbsp; <BR>&nbsp;&nbsp;&nbsp;Dim&nbsp;adoRt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;As&nbsp;Object&nbsp; <BR>&nbsp;&nbsp;&nbsp;Dim&nbsp;lngRecordCount&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;As&nbsp;Long&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;记录数&nbsp; <BR>&nbsp;&nbsp;&nbsp;Dim&nbsp;intFieldCount&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;As&nbsp;Integer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;字段数&nbsp; <BR>&nbsp;&nbsp;&nbsp;Dim&nbsp;strFields&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;As&nbsp;String&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;所有字段名&nbsp; <BR>&nbsp;&nbsp;&nbsp;Dim&nbsp;i&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;As&nbsp;Integer&nbsp; <br><br>&nbsp;&nbsp;&nbsp;Dim&nbsp;exlApplication&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;As&nbsp;Object&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;Excel&nbsp;实例&nbsp; <BR>&nbsp;&nbsp;&nbsp;Dim&nbsp;exlBook&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;As&nbsp;Object&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;Excel&nbsp;工作区&nbsp; <BR>&nbsp;&nbsp;&nbsp;Dim&nbsp;exlSheet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;As&nbsp;Object&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;Excel&nbsp;当前要操作的工作表&nbsp; <br><br>&nbsp;&nbsp;&nbsp;On&nbsp;Error&nbsp;GoTo&nbsp;LocalErr&nbsp; <br><br>&nbsp;&nbsp;&nbsp;Me.MousePointer&nbsp;=&nbsp;vbHourglass&nbsp; <br><br>&nbsp;&nbsp;&nbsp;'//&nbsp;创建&nbsp;ADO&nbsp;记录集对象&nbsp; <BR>&nbsp;&nbsp;&nbsp;Set&nbsp;adoRt&nbsp;=&nbsp;CreateObject(ADODB.Recordset)&nbsp; <br><br>&nbsp;&nbsp;&nbsp;With&nbsp;adoRt&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.ActiveConnection&nbsp;=&nbsp;adoConn&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.CursorLocation&nbsp;=&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'adUseClient&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.CursorType&nbsp;=&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'adOpenStatic&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.LockType&nbsp;=&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'adLockReadOnly&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.Source&nbsp;=&nbsp;strSQL&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.Open&nbsp; <br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;.EOF&nbsp;And&nbsp;.BOF&nbsp;Then&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ExportTempletToExcel&nbsp;=&nbsp;False&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'//&nbsp;取得记录总数,+&nbsp;1&nbsp;是表示还有一行字段名名称信息&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lngRecordCount&nbsp;=&nbsp;.RecordCount&nbsp;+&nbsp;1&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;intFieldCount&nbsp;=&nbsp;.Fields.Count&nbsp;-&nbsp;1&nbsp; <br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For&nbsp;i&nbsp;=&nbsp;0&nbsp;To&nbsp;intFieldCount&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'//&nbsp;生成字段名信息(vbTab&nbsp;在&nbsp;Excel&nbsp;里表示每个单元格之间的间隔)&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strFields&nbsp;=&nbsp;strFields&nbsp;&amp;&nbsp;.Fields(i).Name&nbsp;&amp;&nbsp;vbTab&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Next&nbsp; <br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'//&nbsp;去掉最后一个&nbsp;vbTab&nbsp;制表符&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strFields&nbsp;=&nbsp;Left$(strFields,&nbsp;Len(strFields)&nbsp;-&nbsp;Len(vbTab))&nbsp; <br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'//&nbsp;创建Excel实例&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;exlApplication&nbsp;=&nbsp;CreateObject(Excel.Application)&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'//&nbsp;增加一个工作区&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;exlBook&nbsp;=&nbsp;exlApplication.Workbooks.Add&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'//&nbsp;设置当前工作区为第一个工作表(默认会有3个)&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;exlSheet&nbsp;=&nbsp;exlBook.Worksheets(1)&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'//&nbsp;将第一个工作表改成指定的名称&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exlSheet.Name&nbsp;=&nbsp;strSheetName&nbsp; <br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'//&nbsp;清除“剪切板”&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clipboard.Clear&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'//&nbsp;将字段名称复制到“剪切板”&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clipboard.SetText&nbsp;strFields&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'//&nbsp;选中A1单元格&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exlSheet.Range(A1).Select&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'//&nbsp;粘贴字段名称&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exlSheet.Paste&nbsp; <br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'//&nbsp;从A2开始复制记录集&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exlSheet.Range(A2).CopyFromRecordset&nbsp;adoRt&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'//&nbsp;增加一个命名范围,作用是在导入时所需的范围&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exlApplication.Names.Add&nbsp;strSheetName,&nbsp;=&nbsp;&amp;&nbsp;strSheetName&nbsp;&amp;&nbsp;!$A$1:$&nbsp;&amp;&nbsp;_&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uGetColName(intFieldCount&nbsp;+&nbsp;1)&nbsp;&amp;&nbsp;$&nbsp;&amp;&nbsp;lngRecordCount&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'//&nbsp;保存&nbsp;Excel&nbsp;文件&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exlBook.SaveAs&nbsp;strExcelFile&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'//&nbsp;退出&nbsp;Excel&nbsp;实例&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exlApplication.Quit&nbsp; <br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ExportTempletToExcel&nbsp;=&nbsp;True&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;If&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'adStateOpen&nbsp;=&nbsp;1&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;.State&nbsp;=&nbsp;1&nbsp;Then&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.Close&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;If&nbsp; <BR>&nbsp;&nbsp;&nbsp;End&nbsp;With&nbsp; <br><br>LocalErr:&nbsp; <BR>&nbsp;&nbsp;&nbsp;'*********************************************&nbsp; <BR>&nbsp;&nbsp;&nbsp;'**&nbsp;释放所有对象&nbsp; <BR>&nbsp;&nbsp;&nbsp;'*********************************************&nbsp; <BR>&nbsp;&nbsp;&nbsp;Set&nbsp;exlSheet&nbsp;=&nbsp;Nothing&nbsp; <BR>&nbsp;&nbsp;&nbsp;Set&nbsp;exlBook&nbsp;=&nbsp;Nothing&nbsp; <BR>&nbsp;&nbsp;&nbsp;Set&nbsp;exlApplication&nbsp;=&nbsp;Nothing&nbsp; <BR>&nbsp;&nbsp;&nbsp;Set&nbsp;adoRt&nbsp;=&nbsp;Nothing&nbsp; <BR>&nbsp;&nbsp;&nbsp;'*********************************************&nbsp; <br><br>&nbsp;&nbsp;&nbsp;If&nbsp;Err.Number&nbsp;&lt;&gt;&nbsp;0&nbsp;Then&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Err.Clear&nbsp; <BR>&nbsp;&nbsp;&nbsp;End&nbsp;If&nbsp; <br><br>&nbsp;&nbsp;&nbsp;Me.MousePointer&nbsp;=&nbsp;vbDefault&nbsp; <BR>End&nbsp;Function&nbsp; <br><br>'//&nbsp;取得列名&nbsp; <BR>Private&nbsp;Function&nbsp;uGetColName(ByVal&nbsp;intNum&nbsp;As&nbsp;Integer)&nbsp;As&nbsp;String&nbsp; <BR>&nbsp;&nbsp;&nbsp;Dim&nbsp;strColNames&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;As&nbsp;String&nbsp; <BR>&nbsp;&nbsp;&nbsp;Dim&nbsp;strReturn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;As&nbsp;String&nbsp; <br><br>&nbsp;&nbsp;&nbsp;'//&nbsp;通常字段数不会太多,所以到&nbsp;26*3&nbsp;目前已经够了。&nbsp; <BR>&nbsp;&nbsp;&nbsp;strColNames&nbsp;=&nbsp;A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,&nbsp;&amp;&nbsp;_&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP,AQ,AR,AS,AT,AU,AV,AW,AX,AY,AZ,&nbsp;&amp;&nbsp;_&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BR,BS,BT,BU,BV,BW,BX,BY,BZ&nbsp; <BR>&nbsp;&nbsp;&nbsp;strReturn&nbsp;=&nbsp;Split(strColNames,&nbsp;,)(intNum&nbsp;-&nbsp;1)&nbsp; <BR>&nbsp;&nbsp;&nbsp;uGetColName&nbsp;=&nbsp;strReturn&nbsp; <BR>End&nbsp;Function&nbsp;<BR></div></P>
頁: [1]
查看完整版本: 用vba实现将记录集输出到Excel模板