最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

用vba實現(xiàn)將記錄集輸出到Excel模板

 更新時間:2007年02月28日 00:00:00   作者:  

復(fù)制代碼 代碼如下:

'************************************************ 
'** 函數(shù)名稱:  ExportTempletToExcel 
'** 函數(shù)功能:  將記錄集輸出到 Excel 模板 
'** 參數(shù)說明: 
'**            strExcelFile         要保存的 Excel 文件 
'**            strSQL               查詢語句,就是要導(dǎo)出哪些內(nèi)容 
'**            strSheetName         工作表名稱 
'**            adoConn              已經(jīng)打開的數(shù)據(jù)庫連接 
'** 函數(shù)返回: 
'**            Boolean 類型 
'**            True                 成功導(dǎo)出模板 
'**            False                失敗 
'** 參考實例: 
'**            Call ExportTempletToExcel(c:\\text.xls,查詢語句,工作表1,adoConn) 
'************************************************ 
Private Function ExportTempletToExcel(ByVal strExcelFile As String, _ 
                                      ByVal strSQL As String, _ 
                                      ByVal strSheetName As String, _ 
                                      ByVal adoConn As Object) As Boolean 
   Dim adoRt                        As Object 
   Dim lngRecordCount               As Long                       ' 記錄數(shù) 
   Dim intFieldCount                As Integer                    ' 字段數(shù) 
   Dim strFields                    As String                     ' 所有字段名 
   Dim i                            As Integer 

   Dim exlApplication               As Object                     ' Excel 實例 
   Dim exlBook                      As Object                     ' Excel 工作區(qū) 
   Dim exlSheet                     As Object                     ' Excel 當前要操作的工作表 

   On Error GoTo LocalErr 

   Me.MousePointer = vbHourglass 

   '// 創(chuàng)建 ADO 記錄集對象 
   Set adoRt = CreateObject(ADODB.Recordset) 

   With adoRt 
      .ActiveConnection = adoConn 
      .CursorLocation = 3           'adUseClient 
      .CursorType = 3               'adOpenStatic 
      .LockType = 1                 'adLockReadOnly 
      .Source = strSQL 
      .Open 

      If .EOF And .BOF Then 
         ExportTempletToExcel = False 
      Else 
         '// 取得記錄總數(shù),+ 1 是表示還有一行字段名名稱信息 
         lngRecordCount = .RecordCount + 1 
         intFieldCount = .Fields.Count - 1 

         For i = 0 To intFieldCount 
            '// 生成字段名信息(vbTab 在 Excel 里表示每個單元格之間的間隔) 
            strFields = strFields & .Fields(i).Name & vbTab 
         Next 

         '// 去掉最后一個 vbTab 制表符 
         strFields = Left$(strFields, Len(strFields) - Len(vbTab)) 

         '// 創(chuàng)建Excel實例 
         Set exlApplication = CreateObject(Excel.Application) 
         '// 增加一個工作區(qū) 
         Set exlBook = exlApplication.Workbooks.Add 
         '// 設(shè)置當前工作區(qū)為第一個工作表(默認會有3個) 
         Set exlSheet = exlBook.Worksheets(1) 
         '// 將第一個工作表改成指定的名稱 
         exlSheet.Name = strSheetName 

         '// 清除“剪切板” 
         Clipboard.Clear 
         '// 將字段名稱復(fù)制到“剪切板” 
         Clipboard.SetText strFields 
         '// 選中A1單元格 
         exlSheet.Range(A1).Select 
         '// 粘貼字段名稱 
         exlSheet.Paste 

         '// 從A2開始復(fù)制記錄集 
         exlSheet.Range(A2).CopyFromRecordset adoRt 
         '// 增加一個命名范圍,作用是在導(dǎo)入時所需的范圍 
         exlApplication.Names.Add strSheetName, = & strSheetName & !$A$1:$ & _ 
                                  uGetColName(intFieldCount + 1) & $ & lngRecordCount 
         '// 保存 Excel 文件 
         exlBook.SaveAs strExcelFile 
         '// 退出 Excel 實例 
         exlApplication.Quit 

         ExportTempletToExcel = True 
      End If 
      'adStateOpen = 1 
      If .State = 1 Then 
         .Close 
      End If 
   End With 

LocalErr: 
   '********************************************* 
   '** 釋放所有對象 
   '********************************************* 
   Set exlSheet = Nothing 
   Set exlBook = Nothing 
   Set exlApplication = Nothing 
   Set adoRt = Nothing 
   '********************************************* 

   If Err.Number <> 0 Then 
      Err.Clear 
   End If 

   Me.MousePointer = vbDefault 
End Function 

'// 取得列名 
Private Function uGetColName(ByVal intNum As Integer) As String 
   Dim strColNames                  As String 
   Dim strReturn                    As String 

   '// 通常字段數(shù)不會太多,所以到 26*3 目前已經(jīng)夠了。 
   strColNames = 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, & _ 
                 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, & _ 
                 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 
   strReturn = Split(strColNames, ,)(intNum - 1) 
   uGetColName = strReturn 
End Function 

相關(guān)文章

  • VBA實現(xiàn)全文件快速替換的示例代碼

    VBA實現(xiàn)全文件快速替換的示例代碼

    要想一下子就替換掉很多個WORD文檔中的內(nèi)容,我們可以使用VBA的辦法,本文主要介紹了VBA實現(xiàn)全文件快速替換的示例代碼,具有一定的參考價值,感興趣的可以了解一下
    2023-08-08
  • VBA中的循環(huán)代碼的使用

    VBA中的循環(huán)代碼的使用

    本文主要介紹了VBA中的循環(huán)代碼的使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 用vba實現(xiàn)將記錄集輸出到Excel模板

    用vba實現(xiàn)將記錄集輸出到Excel模板

    用vba實現(xiàn)將記錄集輸出到Excel模板...
    2007-02-02
  • Excel?VBA按列拆分工作表和工作簿的實現(xiàn)

    Excel?VBA按列拆分工作表和工作簿的實現(xiàn)

    表格拆分是常見的數(shù)據(jù)處理,本文主要介紹了Excel?VBA按列拆分工作表和工作簿的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 關(guān)于vba代碼運行時錯誤1004?應(yīng)用程序定義或?qū)ο蠖x錯誤問題

    關(guān)于vba代碼運行時錯誤1004?應(yīng)用程序定義或?qū)ο蠖x錯誤問題

    這篇文章主要介紹了vba代碼運行時錯誤1004?應(yīng)用程序定義或?qū)ο蠖x錯誤,經(jīng)過一系列問題調(diào)查發(fā)現(xiàn)是工作表中數(shù)據(jù)存在異常,需要的朋友可以參考下
    2022-10-10
  • VBA實現(xiàn)合并具有文本框的Word文檔

    VBA實現(xiàn)合并具有文本框的Word文檔

    這篇文章主要為大家詳細介紹了如何基于VBA語言,對大量含有圖片、文本框與表格的Word文檔加以批量自動合并,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-11-11
  • VBA工程加密PJ方式(兩種)

    VBA工程加密PJ方式(兩種)

    今天遇到一個excel小工具感覺不錯,想研究研究代碼,竟然有密碼,我就不淡定了。網(wǎng)上找了找代碼,改了一下就OK了。接下來通過本文給大家分享兩種方式破解VBA工程加密,需要的朋友參考下吧
    2021-12-12
  • Excel·VBA合并工作簿的實現(xiàn)示例

    Excel·VBA合并工作簿的實現(xiàn)示例

    本文主要介紹了Excel·VBA合并工作簿的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • VBA數(shù)組去重(字典去重多種方法+數(shù)組去重2種方法)

    VBA數(shù)組去重(字典去重多種方法+數(shù)組去重2種方法)

    本文主要介紹了VBA數(shù)組去重(字典去重多種方法+數(shù)組去重2種方法),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • excel vba 高亮顯示當前行代碼

    excel vba 高亮顯示當前行代碼

    用條件格式設(shè)置高亮顯示當前行,難的是如何確定當前行。用VBA就很簡單,鼠標右擊工作表標簽,選擇“查看代碼”,將下面的代碼粘貼到VBE窗口中
    2009-07-07

最新評論

宁德市| 乐都县| 灵璧县| 库车县| 左云县| 罗江县| 吉安县| 宜兴市| 长治县| 金华市| 涪陵区| 嘉鱼县| 汽车| 台东市| 应用必备| 左贡县| 麻江县| 泰州市| 天峨县| 东阳市| 牙克石市| 保康县| 丹巴县| 永寿县| 宁陕县| 哈尔滨市| 阿拉尔市| 淮北市| 溧阳市| 秦皇岛市| 图木舒克市| 临邑县| 台州市| 荔浦县| 上饶市| 安阳市| 永安市| 太白县| 平潭县| 会东县| 颍上县|