Ⅰ Excel中VB編程中如何判斷文件是否已經打開的問題
Option Explicit
Sub 宏1()
'
' 宏1 Macro
' user 記錄的宏 2011-5-1
'
Dim wb As Workbook
For Each wb In Workbooks
If wb.Name = "技巧內容.xls" Then Exit For
Next wb
If wb.Name <> "技巧.xls" Then Workbooks.Open ("技巧.xls")
End Sub
Ⅱ VB6.0如何判斷excel文件是否已打開
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
這三句的AS後面都加NEW關鍵字
不支持推薦的on error resume next
on error resume next是不負責任地一種用法
簡直是掩耳盜鈴,自欺欺人
Ⅲ VB編程打開和關閉EXCEL文件
Dim EApp As Object『定義一個全局變數
Private Sub CommandButton1_Click()'打開
Set EApp = CreateObject("Excel.Application")
EApp.Visible = True
End Sub
Private Sub CommandButton2_Click()'關閉
If Not EApp Is Nothing Then
EApp.Quit
End If
End Sub
Ⅳ 如何在vb中打開Excel
Visual Basic開發工具模式可以直接從Excel表格中進入,不需要另外打開。
具體步驟:
1、在電腦上桌面上找到Excel表格圖標,雙擊打開。
Ⅳ vb中怎麼讀取excel文件
1、調用Excel對象打開EXCEL文件後,讀取文件內容x0dx0a***************************************x0dx0a在VB中要想調用Excel,需要打開VB編程環境「工程」菜單中的「引用」項目,並選取項目中的「MicrosoftExcel 11.0 object library」項。由於你的Excel版本不同,所以這個選項的版本號也是不同的。x0dx0a x0dx0a因為EXCEL是以層次結構組織對象的,其對象模型中含有許多不同的對象元素。x0dx0a第一層:Application對象,即Excel本身;x0dx0a第二層:workbooks對象集,指Excel的工作簿文件x0dx0a第三層:worksheets對象集,表示的是Excel的一個工作表;x0dx0a第四層:Cells和Range對象,指向Excel工作表中的單元格。x0dx0a新建立一個VB的工程,先放一個button,名稱為Excel_Out。先定義好各層:x0dx0aDim xlapp As Excel.Application 'Excel對象x0dx0aDim xlbook As Excel.Workbook '工作簿x0dx0aDim xlsheet As Excel.Worksheet '工作表x0dx0a我們打算做的是:打開/新建一個excel,在其中對某工作表的一些單元格修改其值,然後另存為test.xls文件。x0dx0aPrivate Sub Excel_Out_Click()x0dx0a Dimi, j As Integerx0dx0a Setxlapp = CreateObject("Excel.Application") '創建EXCEL對象x0dx0a 'Set xlbook = xlapp.Workbooks.Open(App.Path& "\test.xls")'打開已經存在的test.xls工件簿文件x0dx0a Setxlbook = xlapp.Workbooks.Add '新建EXCEL工件簿文件x0dx0a 'xlbook.RunAutoMacros (xlAutoOpen) '運行EXCEL啟動宏x0dx0a 'xlbook.RunAutoMacros (xlAutoClose) '運行EXCEL關閉宏x0dx0axlapp.Visible = True '設置EXCEL對象可見(或不可見)x0dx0a Setxlsheet = xlbook.Worksheets(1) '設置活動工作表'
''~~~當前工作簿的第一頁,這里也可以換成「表名」x0dx0a x0dx0a'下面就是簡單的在一些單元格內寫入數字x0dx0a Fori = 7 To 15x0dx0a For j = 1 To 10x0dx0axlsheet.Cells(i, j) = j '當前工作簿第一頁的第I行第J列x0dx0a Next jx0dx0a Nextix0dx0a Withxlsheet '設置邊框為是實線x0dx0a .Range(.Cells(7, 1), .Cells(28, 29)).Borders.LineStyle = xlContinuousx0dx0a EndWithx0dx0a '引用當前工作簿的第二頁x0dx0a Setxlsheet = xlapp.Application.Worksheets(2)x0dx0axlsheet.Cells(7, 2) = 2008 '在第二頁的第7行第2列寫入2008x0dx0axlsheet.SaveAsApp.Path&"\test.xls" '按指定文件名存檔x0dx0a 'Setxlbook = xlapp.Application.Workbooks.Add '新建一空白工作簿x0dx0axlapp.Quit '結束EXCEL對象'xlapp.Workbooks.Closex0dx0a Setxlapp = Nothing '釋放xlApp對象x0dx0aEnd Subx0dx0a這樣,我們就可以簡單的對excel文件進行操作了。下面再放一些我從網上查到的資料吧,還挺有用的:x0dx0a 1.創建Excel對象x0dx0aeole=CREATEOBJECT(′Excel.application′) x0dx0a 2.添加新工作簿x0dx0aeole.Workbooks.addx0dx0a 3.設置第3個工作表為激活工作表x0dx0aeole.Worksheets(〃sheet3〃).Activate x0dx0a 4.打開指定工作簿x0dx0aeole.Workbooks.Open(〃c:\temp\ll.xls〃) x0dx0a 5.顯示Excel窗口x0dx0aeole.visible=.t. x0dx0a 6.更改Excel標題欄x0dx0aeole.Caption=〃VB應用程序調用Microsoft Excel〃x0dx0a 7.給單元格賦值x0dx0aeole.cells(1,4).value=XM(XM為資料庫欄位名) x0dx0a 8.設置指定列的寬度(單位:字元個數) x0dx0aeole.ActiveSheet.Columns(1).ColumnWidth=5 x0dx0a 9.設置指定行的高度(單位:磅) x0dx0aeole.ActiveSheet.Rows(1).RowHeight=1/0.035 x0dx0a (設定行高為1厘米,1磅=0.035厘米) x0dx0a 10.在第18行之前插入分頁符x0dx0aeole.Worksheets(〃Sheet1〃).Rows(18).PageBreak=1 x0dx0a 11.在第4列之前刪除分頁符x0dx0aeole.ActiveSheet.Columns(4).PageBreak=0 x0dx0a 12.指定邊框線寬度(Borders參數如下) x0dx0aole.ActiveSheet.Range(〃b3:d3〃).Borders(2).Weight=3 x0dx0a 13.設置四個邊框線條的類型x0dx0aeole.ActiveSheet.Range(〃b3:d3〃).Borders(2).LineStyle=1 x0dx0a (其中Borders參數:1-左、2-右、3-頂、4-底、5-斜、6-斜/;LineStyle值:1與7-細實、2-細虛、4-點虛、9-雙細實線) x0dx0a 14.設置頁眉x0dx0aeole.ActiveSheet.PageSetup.CenterHeader=〃報表1〃x0dx0a 15.設置頁腳x0dx0aeole.ActiveSheet.PageSetup.CenterFooter=〃第&P頁〃x0dx0a 16.設置頁眉到頂端邊距為2厘米x0dx0aeole.ActiveSheet.PageSetup.HeaderMargin=2/0.035 x0dx0a 17.設置頁腳到底邊距為3厘米x0dx0aeole.ActiveSheet.PageSetup.FooterMargin=3/0.035 x0dx0a 18.設置頂邊距為2厘米x0dx0aeole.ActiveSheet.PageSetup.TopMargin=2/0.035 x0dx0a 19.設置底邊距為4厘米x0dx0aeole.ActiveSheet.PageSetup.BottomMargin=4/0.035 x0dx0a 20.設置左邊距為2厘米x0dx0aveole.ActiveSheet.PageSetup.LeftMargin=2/0.035 x0dx0a 21.設置右邊距為2厘米x0dx0aeole.ActiveSheet.PageSetup.RightMargin=2/0.035 x0dx0a 22.設置頁面水平居中x0dx0aeole.ActiveSheet.PageSetup.CenterHorizontally=.t. x0dx0a 23.設置頁面垂直居中x0dx0aeole.ActiveSheet.PageSetup.CenterVertically=.t. x0dx0a 24.設置頁面紙張大小(1-窄行8511 39-寬行1411) x0dx0aeole.ActiveSheet.PageSetup.PaperSize=1 x0dx0a 25.列印單元格網線x0dx0aeole.ActiveSheet.PageSetup.PrintGridlines=.t. x0dx0a 26.拷貝整個工作表x0dx0aeole.ActiveSheet.UsedRange.Copyx0dx0a 27.拷貝指定區域x0dx0aeole.ActiveSheet.Range(〃A1:E2〃).Copy x0dx0a 28.粘貼x0dx0aeole.WorkSheet(〃Sheet2〃).Range(〃A1〃).PasteSpecialx0dx0a 29.在第2行之前插入一行x0dx0aeole.ActiveSheet.Rows(2).Insert x0dx0a 30.在第2列之前插入一列x0dx0aeole.ActiveSheet.Columns(2).Insert x0dx0a 31.設置字體x0dx0aeole.ActiveSheet.Cells(2,1).Font.Name=〃黑體〃x0dx0a 32.設置字體大小x0dx0aeole.ActiveSheet.Cells(1,1).Font.Size=25 x0dx0a 33.設置字體為斜體x0dx0aeole.ActiveSheet.Cells(1,1).Font.Italic=.t. x0dx0a 34.設置整列字體為粗體x0dx0aeole.ActiveSheet.Columns(1).Font.Bold=.t. x0dx0a 35.清除單元格公式x0dx0aeole.ActiveSheet.Cells(1,4).ClearContentsx0dx0a 36.列印預覽工作表x0dx0aeole.ActiveSheet.PrintPreviewx0dx0a 37.列印輸出工作表x0dx0aeole.ActiveSheet.PrintOutx0dx0a 38.工作表另存為x0dx0aeole.ActiveWorkbook.SaveAs(〃c:\temp\22.xls〃) x0dx0a 39.放棄存檔x0dx0aeole.ActiveWorkbook.saved=.t. x0dx0a 40.關閉工作簿x0dx0aeole.Workbooks.closex0dx0a 41.退出Excel x0dx0aeole.quitx0dx0a***************************************x0dx0ax0dx0a2、調用ADO對象以資料庫方式打開EXECL文件後,以SQL語句方式讀取文件x0dx0a***************************************x0dx0a Dim rs As ADODB.Recordsetx0dx0a Set rs = New ADODB.Recordsetx0dx0a Dim conn As ADODB.Connectionx0dx0a Set conn = New ADODB.Connectionx0dx0a conn.Open "DRIVER={Microsoft Text Driver (*.txt; *.csv)};" DBQ=" & App.Path & ";", "", ""x0dx0a rs.Open "select * from [test$]", conn, adOpenStatic, adLockReadOnly, adCmdTextx0dx0a Set Read_Text_File = rsx0dx0a Set rs = Nothingx0dx0a Set conn = Nothingx0dx0a***************************************