VB读写操作Excel文档

VB读写操作Excel文档
VB读写操作Excel文档

VB操作excel表

1 需求分析

1.1 基础功能需求

(1)启动软件后,加载Excel文件内容到界面中列表或文本框。

(2)修改界面中列表或文本框内容,点“保存”按钮,将内容保存到原Excel文件。(3)点击界面“读取”按钮,将修改后的Excel文件内容显示到界面列表或文本框。(4)实现VB按钮指令,使加载的Excel自动绘制图表。【重点难点】

1.2 附加需求

(1)把从VB控件获取的数据保存到指定文件,若没有文件,则创建指定文件名文件(2)待定

1.3 技术应用

(1)把Excel表作为数据库,可通过VB界面对其进行添加、查询、修改和删除等操作,使操作界面更加直观、交互和方便。如可编写通讯录软件,将信息录入Excel,通过软件界面操作,更加方便快捷。

(2)如能把桌面软件、磁盘数据和网络数据进行交互存取,将更加方便获取和查询信息。(3)结合VBA教程,通过界面实现对Excel表格及其他支持宏的office软件的操作。

2 实现过程

2.1 界面设计及分析

(1)点击“打开文件”按钮,弹出“打开文件对话框”,选择文件后,文件路径将显示到右下角“当前文件路径”文本框中。

(2)点击“读取当前文件”按钮,当前路径Excel表的A、B、C三列将显示到ListBox列表框中。若列表框不能一行显示多项,则用三个列表框分别显示A、B、C三列。

(3)点击“开始传输数据”按钮,按钮提示文字变为“停止数据传输”,指示灯变绿,计时器启动,规定间隔时间改变时间、温度、电容文本框的数值,并将其写入当前文件路径的Excel表的A、B、C单元格中。点击“停止数据传输”按钮,指示灯变黑,计时器停止,时间、温度、电容文本框的数值不再变化,停止向当前文件路径的Excel表写入数据。

(4)点击“保存文件”按钮,写入当前文件路径Excel表格的内容直接保存。

(5)点击“文件另存为”按钮,弹出“文件另存为”对话框,选择文件保存路径,输入文件名称后,自动添加为.xls扩展名,创建并保存文件。

(6)点击“关闭当前文件”,将关闭已经打开的Excel应用程序,释放表格资源。

(7)点击“生成图表”,对当前Excel文件绘制平滑曲线散点图。

2.2 变量名称及说明

(1)标签名称

名称说明参数规格lblTitle 软件标题

lblTime 时间标签

lblTemperature 温度标签

lblCapacitance 电容标签

(2)文本名称

名称说明参数规格txbTime 时间文本框

txbTemperature 温度文本框

txbCapacitance 电容标签

txbDir 当前文件路径

(3)按钮名称

名称说明参数规格btnOpenXls 打开excel文件

btnSaveXls 保存excel文件

btnSaveAsXls 另存为excel文件

btnbtnReadXls 读取文件当前路径

(4)计时器名称

名称说明

TimerData 数据更新计数器

(5)对话框名称

名称说明

commDlg 打开、保存等对话框控件

(6)列表框

名称说明

ListXls 显示Excel表内容

2.3 程序编写

(1)控件和应用准备

添加commondialog控件

添加MicroExcel引用

(2)设置全局变量

Dim xlsApp As Excel.Application

Dim xlsBook As Excel.Workbook

Dim xlsSheet As Excel.Worksheet

注:未添加MicroExcel引用将编译报错

(3)打开文件按钮,弹出“打开对话框”,选择文件后把路径名称显示在“路径文本框”中P r i v a t e S u b b t n O p e n X l s_C l i c k()

c o m m D l g.S h o w O p e n

t x b D i r.T e x t=c o m m D l g.F i l e N a m e

E n d S u b

(4)读取打开的路径文件,将一列数据显示到listbox列表中

'启用x l s

S e t x l s A p p= C r e a t e O b j e c t("E x c e l.A p p l i c a t i o n") '应用程序对象实例

x l s A p p.V i s i b l e=F a l s e’设置操作过程中E x c e l表格不可见

'打开文件

S e t x l s B o o k= x l s A p p.W o r k b o o k s.O p e n(c o m m D l g.F i l e N a m e) S e t x l s S h e e t= x l s B o o k.W o r k s h e e t s("S h e e t1")

'循环将E x c e l第一列显示到l i s t B o x,直到无数据

D i m i,j A s I n t e g e r

i=1

j=1

D o W h i l e x l s S h e e t.C e l l s(i,j)<>""

L i s t X l s.A d d I t e m(x l s S h e e t.C e l l s(i, 1))

i=i+1

'j=j+1

L o o p

'解除对所打开的e x c e l的锁定

x l s B o o k.C l o s e(T r u e)'上面的代码出错就不执行它了x l s A p p.Q u i t'同上,执行不到此句,E X C E L可能留在进程中,o f f i c e打开路径E x c e l

’时出现锁定提示

S e t x l s B o o k=N o t h i n g’释放b o o k绑定S e t x l s A p p=N o t h i n g’释放a p p l i c a t i o n绑定

’以下为异常处理

e r r:

I f e r r.N u m b e r>0T h e n

I f N o t(x l s B o o k I s N o t h i n g)T h e n

x l s B o o k.Q u i t

E n d I f

I f N o t(x l s A p p I s N o t h i n g)T h e n

x l s A p p.Q u i t

E n d I f

E n d I f

注:要解决的问题是如何把第二列、第三列等对应显示到listBox中。

(5)点击“生成图表”按钮,加载的Excel自动绘制散点平滑曲线图。

’把当前获取的Excel加载到全局声明变量

S e t x l s A p p= C r e a t e O b j e c t("E x c e l.A p p l i c a t i o n") '应用程序对象实例

'打开路径文本显示的文件,建议进行扩展名检查,保证是.x l s文件

S e t x l s B o o k= x l s A p p.W o r k b o o k s.O p e n(t x b D i r.T e x t)

S e t x l s S h e e t= x l s B o o k.W o r k s h e e t s("S h e e t1")

’定义并添加图表

Dim xlsChart As Excel.Chart

Set xlsChart = xlsApp.Charts.Add ’返回添加的新图表

With xlsChart

.ChartType = xlXYScatterSmooth '选择带平滑线和数据标记的散点图’选择数据源,当前工作薄的A2:C11,共3列10行,列为坐标 .SetSourceData Source:=xlsSheet.Range("A2:C11"), PlotBy:=xlColumns ’曲线图名称,温度和电容

.SeriesCollection(1).Name = "=""温度"""

.SeriesCollection(2).Name = "=""电容"""

.Location Where:=xlLocationAsNewSheet ’添加位置为新图表

.HasTitle = True

.ChartTitle.Characters.Text = "温度电容图"

’有X轴,为时间

.Axes(xlCategory, xlPrimary).HasTitle = True

.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "时间"

’有Y轴,为温度/电容

.Axes(xlValue, xlPrimary).HasTitle = True

.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "温度/电容"

End With

3.BUG分析

(1)为选择打开文件,直接点击“读取当前文件”按钮,将弹出异常。

4.关注

(1)Excel.Application.Visualble = true 表示在操作指定excel时会弹出表格,一闪而过;否则不会弹出。

(2)打开了路径Excel后,Excel应用程序(E x c e l.A p p l i c a t i o n)、Excel 路径文件(E x c e l.W o r k b o o k)、Excel工作簿(E x c e l.W o r k s h e e t),将加载对应的程序、文件和工作资源。如果操作完成后没有释放,它们仍将在进程中运行,导致无法用office软件打开路径文件,提示“已经被其他应用程序锁定”。

(3)With …… End With语句块,是选中对象,然后用.**即可对选中对象操作,这样可提高宏运行效率。

VB中对EXCEL的操作

全面控制Excel 首先创建Excel 对象,使用ComObj: Dim ExcelID as Excel.Application Set ExcelID as new Excel.Application 1) 显示当前窗口: ExcelID.Visible := True; 2) 更改Excel 标题栏: ExcelID.Caption := '应用程序调用Microsoft Excel'; 3) 添加新工作簿: ExcelID.WorkBooks.Add; 4) 打开已存在的工作簿: ExcelID.WorkBooks.Open( 'C:\Excel\Demo.xls' ); 5) 设置第2个工作表为活动工作表: ExcelID.WorkSheets[2].Activate; 或ExcelID.WorkSheets[ 'Sheet2' ].Activate; 6) 给单元格赋值: ExcelID.Cells[1,4].Value := '第一行第四列'; 7) 设置指定列的宽度(单位:字符个数),以第一列为例: ExcelID.ActiveSheet.Columns[1].ColumnsWidth := 5; 8) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:ExcelID.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米 9) 在第8行之前插入分页符: ExcelID.WorkSheets[1].Rows[8].PageBreak := 1; 10) 在第8列之前删除分页符: ExcelID.ActiveSheet.Columns[4].PageBreak := 0; 11) 指定边框线宽度: ExcelID.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3; 1-左2-右3-顶4-底5-斜( \ ) 6-斜( / ) 12) 清除第一行第四列单元格公式: ExcelID.ActiveSheet.Cells[1,4].ClearContents; 13) 设置第一行字体属性: ExcelID.ActiveSheet.Rows[1]https://www.360docs.net/doc/cb8122911.html, := '隶书'; ExcelID.ActiveSheet.Rows[1].Font.Color := clBlue; ExcelID.ActiveSheet.Rows[1].Font.Bold := True; ExcelID.ActiveSheet.Rows[1].Font.UnderLine := True; 14) 进行页面设置: a.页眉: ExcelID.ActiveSheet.PageSetup.CenterHeader := '报表演示'; b.页脚: ExcelID.ActiveSheet.PageSetup.CenterFooter := '第&P页'; c.页眉到顶端边距2cm: ExcelID.ActiveSheet.PageSetup.HeaderMargin := 2/0.035; d.页脚到底端边距3cm: ExcelID.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;

用VB操作excel方法汇总

用VB操作excel方法汇总 Private Sub Command3_Click() Dim i As Long Dim j As Long Dim objExl As Excel.Application '声明对象变量 Me.MousePointer = 11 '改变鼠标样式 Set objExl = New Excel.Application '初始化对象变量 objExl.SheetsInNewWorkbook = 1 '将新建的工作薄数量设为1 objExl.Workbooks.Add '增加一个工作薄 objExl.Sheets(objExl.Sheets.Count).Name = "book1" '修改工作薄名称 objExl.Sheets.Add , objExl.Sheets("book1") '增加第二个工作薄在第一个之后 objExl.Sheets(objExl.Sheets.Count).Name = "book2" objExl.Sheets.Add , objExl.Sheets("book2") '增加第三个工作薄在第二个之后 objExl.Sheets(objExl.Sheets.Count).Name = "book3" objExl.Sheets("book1").Select '选中工作薄 For i = 1 To 50 '循环写入数据 For j = 1 To 5 If i = 1 Then objExl.Selection.NumberFormatLocal = "@" '设置格式为文本 objExl.Cells(i, j) = " E " & i & j Else objExl.Cells(i, j) = i & j End If Next Next objExl.Rows("1:1").Select '选中第一行 objExl.Selection.Font.Bold = True '设为粗体 objExl.Selection.Font.Size = 24 '设置字体大小 objExl.Cells.EntireColumn.AutoFit '自动调整列宽 objExl.ActiveWindow.SplitRow = 1 '拆分第一行 objExl.ActiveWindow.SplitColumn = 0 '拆分列 objExl.ActiveWindow.FreezePanes = True '固定拆分 objExl.ActiveSheet.PageSetup.PrintTitleRows = "$1:$1" '设置打印固定行 objExl.ActiveSheet.PageSetup.PrintTitleColumns = "" '打印标题 objExl.ActiveSheet.PageSetup.RightFooter = "打印时间: " & _ For mat(Now, "yyyy年mm月dd日 hh:MM:ss") objExl.ActiveWindow.View = xlPageBreakPreview '设置显示方式 objExl.ActiveWindow.Zoom = 100 '设置显示大小 '给工作表加密码 objExl.ActiveSheet.Protect "123", DrawingObjects:=True, _ Contents:=True, Scenarios:=True objExl.Application.IgnoreRemoteRequests = False

VB读写ini文件

VB读写ini文件(1) 2007-06-20 11:32 自从注册表诞生以来ini文件正在逐渐失去其市场占有率,然而基于ini文件的独立性,致使其还没有到达退出历史舞台的地步,很多应用程序的初始化和一些界面参数的设置仍然很愿意从ini文件中读取,为了保证操作需用参数对ini文件的读取的通明性,建议使用一个模块来完成此工作。注:所有操作调用标准的Win API函数来完成。 Dim Ret As Long Dim Start As Long Public FileName As String Const BufSize = 10240 Dim buf As String * BufSize Private Declare Function GetPrivateProfileInt Lib "kernel32" Alias "GetPrivateProfileIntA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Long, ByVal lpFileName As String) As Long Private Declare Function GetPrivateProfileSection Lib "kernel32" Alias "GetPrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long Private Declare Function WritePrivateProfileSection Lib "kernel32" Alias "WritePrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpString As String, ByVal lpFileName As String) As Long Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long Public Sub SetValue(ByVal clsName As String, ByVal key As String, ByVal V As String) Ret = WritePrivateProfileString(clsName, key, V, FileName) End Sub Public Function GetValue(ByVal clsName As String, ByVal key As String) As String Ret = GetPrivateProfileString(clsName, key, "", buf, BufSize, FileName) Start = 1 GetValue = RetStr() End Function Private Function RetStr() As String Dim i As Long i = InStr(Start, buf, Chr(0)) If i > Start Then RetStr = Mid(buf, Start, i - Start) End If Start = i + 1 End Function 至此已经完成了对一个完整的独立模块的封装,接下来就来看看怎么引用(其实看完上面程序就明了了) VB读写INI文件(2) 2007-06-20 11:32 INI 文件是什么样子?——不会吧,这都不知道。INI 文件就是 Windows 中常见的以 .ini 为扩展名的文件,其内部格式和各部分的名称如下: [Section1] Key1=Value1

VB获得Windows各类系统目录的方法

VB获得Windows各类系统目录的方法 现在有很多关于如何用VB获得Windows目录的文章,但大都只讲到如何获得Windows目录和System目录,有时候我们却需要获得像"我的文档"这样的目录("我的文档"的路径并不是固定的,可以由自己设定,也有可能因为系统的安装路径不同而不同),那又该如何处理呢?下面我们来具体谈谈如何用VB获得这种路径。 先向大家介绍两个API函数,这两个函数分别是SHGetSpecialFolderLocation和SHGetPathFromIDList,这就是我们用来获得各种路径的武器。 函数声明: Private Declare Function SHGetSpecialFolderLocation Lib "Shell32" (ByVal hwndOwner As Long, ByVal nFolder As Integer, ppidl As Long) As Long Private Declare Function SHGetPathFromIDList Lib "Shell32" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal szPath As String) As Long 函数功能及参数说明: SHGetSpecialFolderLocation:获得某个特殊目录在特殊目录列表中的位置;它有三个参数,第一个参数是用来指定所有者窗口的,在应用中一般我们写上"0"就可以了;第二个参数是一个整数id,它决定要查找的目录是哪一个目录,它的取值可能如下: &H0& '桌面 &H2& '程序集 &H5& '我的文档 &H6& '收藏夹 &H7& '启动 &H8& '最近打开的文件 &H9& '发送 &HB& '开始菜单 &H13& '网上邻居 &H14& '字体 &H15& 'ShellNew &H1A& 'Application Data &H1B& 'PrintHood &H20& '网页临时文件 &H21& 'Cookies目录 &H22& '历史 第三个参数是获得的特殊目录在特殊目录列表中的地址。 SHGetPathFromIDList:根据某特殊目录在特殊目录列表中的地址获取该目录的准确路径。它有两个参数,第一个参数是特殊目录在特殊目录列表中的地址,也即上一个函数所获得的地址;第二个参数是一个字符串型数据,用来保存返回的特殊目录的准确路径。 比如:为了获得DeskTop的路径,首先需调用SHGetSpecialFolderLocation获得DeskTop在特殊目录列表中的位置Pid,然后调用SHGetPathFromIDList函数获得Pid指向的列表内容,即DeskTop的准确路径。 下面是我编写的一个用来获取Windows各种目录路径的例子,供大家参考。如果您有什么问题或建议,欢迎给我来信(xuhaoliang@https://www.360docs.net/doc/cb8122911.html,)。

VB操作Excel实现读取写入打印

VB操作EXCEL,实现数据写入以及数据组合 1】定义EXCEL的一系列操作 Dim xlApp As Excel.Application Dim ExcelShowStr As String Set xlApp = CreateObject("Excel.Application") xlApp.Visible = true AppLogFile.WriteLine (CStr(Date) & "_" & CStr(Time) & ":Set xlApp=new Excel.Application") Dim xlBook As Workbook Dim xlSheet As Worksheet Dim xlrow, sheetIndex, sheetColumn As Integer 'fileurl ="D:\VB英迈\Template\WriteData.xls" Editable=空值 Set xlBook = xlApp.Workbooks.Open(fileUrl, Editable) '打开EXCEL模板 Set xlSheet = xlApp.ActiveSheet -------------------------------------------------------------------------------------------- 【2】写入数据的操作 xlSheet.Range(xlSheet.Cells(beginRow, 1), xlSheet.Cells(endRow - 1, 1)).Merge '合并单元格 xlSheet.Cells(beginRow, 1).FormulaR1C1 = CustName '单行插入 xlSheet.Cells(beginRow, 1).V erticalAlignment = xlTop '垂直,写入数据的位置,这里为高 xlSheet.Cells(beginRow, 2).HorizontalAlignment = xlHAlignCenter '水平写入数据的位置,这里为居中 xlSheet.Range(xlSheet.Cells(beginRow, 1), xlSheet.Cells(endRow - 1, 19)).Font.ColorIndex = ConstModule.COLOR_BLUE '单元格的字体颜色xlSheet.Range(xlSheet.Cells(beginRow, 1), xlSheet.Cells(endRow - 1, 19)).Font.Bold = True '单元格的数据为粗体显示

vb读取txt文件到textbox

vb读取txt文件到textbox vb读取txt文件到textbox 1.怎么通过代码创建一个文本文件,并读取,更新内容 以上为随即方式打开的文本文件 dim gfilenum as integer gfilenum = FreeFile Open "文件路径及文件名" For Random As gfilenum len=3 \'以随即方式打开一文件如果文件不存在就新建 用get #gfilenum ,记录在文件中位置,要放取得的数据的变量\'读取操作 用put #gfilenum ,记录在文件中位置,要放着要写入数据的变量\'写操作 close #filenum\'关闭文件 以下为顺序方式打开的文件 dim gfilenum as integer gfilenum = FreeFile Open "文件路径及文件名" For output As gfilenum \'以写入方式打开文本 print #gfilenum,要写入的文本 write #filenumber,要写入的文本 dim gfilenum as integer gfilenum = FreeFile Open "文件路径及文件名" For input As gfilenum \'以读出方式打开文本 input #gfilenum ,用来放读取的内容的内存变量名 还可用line input#,input()等读取更详细的查msdn 2.VB读取文本文件时,调用TextStream 对象中使用OpenTextFile报错了。 如果是 Set f = fs.OpenTextFile("E:\\table\\trace.txt", forreading, True, TristateUseDefault)

vb对文件目录的操作

原文地址:vb2008 文件目录相关作者:esonbest 以下摘自《vb2008开发经验与实战宝典》源码位置c01 '将指定URI数据下载到本地文件Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click Dim MyUri As String = "https://www.360docs.net/doc/cb8122911.html,/mspress/images/banner.gif" Dim MyFileName As String = "banner.gif" Dim MyClient As New https://www.360docs.net/doc/cb8122911.html,.WebClient() MyClient.DownloadFile(MyUri, MyFileName) System.Diagnostics.Process.Start(MyFileName) End Sub Public Class Form1 '判断指定目录是否已经存在 System.IO.Directory.Exists(MyDir1) '获取指定目录的上级目录 Dim MyParentDir = System.IO.Directory.GetParent(MyDir).FullName '获取全路径名的目录信息 Dim MyDirectoryName = System.IO.Path.GetDirectoryName(MyPathName) '获取全路径名的根目录信息 Dim MyPathName = "C:WindowsNotepad.exe" Dim MyRootDirectoryName = System.IO.Path.GetPathRoot(MyPathName) '获取当前工作目录 Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

VB_NET语言操作txt文件代码

做二次开发过程中的一些代码搜集和个人的试错及注释: Dim str_File_1 As String = https://www.360docs.net/doc/cb8122911.html,puter.FileSystem.ReadAllText("E:\Visual Studio\Visual Basic\GUI\WindowsApplication2\Resources\1.tcl", System.Text.Encoding.ASCII) '根据实际的编码读第一个文件 Dim str_File_2 As String = https://www.360docs.net/doc/cb8122911.html,puter.FileSystem.ReadAllText("E:\Visual Studio\Visual Basic\GUI\WindowsApplication2\Resources\2.tcl", System.Text.Encoding.ASCII) '根据实际的编码读第二个文件 FileOpen(1, "E:\Visual Studio\Visual Basic\GUI\WindowsApplication2\Resources\1.tcl", OpenMode.Input, OpenAccess.Default, OpenShare.Shared) '以读方式打开文件 FileOpen(2, "E:\Visual Studio\Visual Basic\GUI\WindowsApplication2\Resources\2.tcl", OpenMode.Output, OpenAccess.Default, OpenShare.Shared) '以写方式打开文件 Print(2, str_File_1) '将1文件写入2中 FileClose(1) FileClose(2) Imports System.IO Public Class TXTClass '为了能够操作txt文本文档,需要在类的前面加入“System.IO”空间的引用; '然后定义3个变量sw(用于write操作,变量类型StreamWriter)、 'sr(用于read操作,变量类型StreamReader)、 'strRead()(用于保存从文本文档中读入的数据,变量类型String数组); '然后写一个空的sub New()过程(类必须有的)。 Private swAsStreamWriter Private srAsStreamReader Public strRead() As String Public Sub New() End Sub '写操作 '写入一行数据到文本文件 '以追加的形式写入一行数据 Public Sub ZhuiJiaSingle(ByValParth As String, ByValstrline As String) sw = New StreamWriter(Parth, True, System.Text.Encoding.Default) sw.WriteLine(strline) sw.Flush() sw.Close() sw = Nothing

(环境管理)实验VB编程环境和文件

实验1 环境和文件 实验目的: 1.熟悉VB的集成开发环境 2.掌握常用控件的属性、方法 3.熟悉常用对象事件的使用 4.熟悉文件系统控件的使用 5.掌握文件的打开、关闭和读写操作 实验1.1认识Visual Basic 实验任务: 认识Visual Basic的集成开发环境,熟悉各个窗口的功能,熟悉控件的属性、方法,熟悉事件的使用。实验结果界面如图1-1所示。 图 1-1 实验1.1运行界面 实验步骤: 1.启动VB6.0,创建一个“标准EXE”类型的应用程序。 2.将窗体的Font属性设为宋体、小二、粗体,Caption属性设置为“我的第一个程序”。 3.在窗体上添加两个命令按钮Command1(Caption属性设置为“欢迎”)和Command2(Caption属性设置为“再见”) 。 4.双击“欢迎”按钮,涉及如下代码: Print “欢迎使用Visual Basic” 5.双击“再见”按钮,添加如下代码: End 6.将窗体和工程分别以文件名vb1.frm和vb1.vbp保存在自己的文件夹中。 7.单击F5,试验运行本程序,直至满意为止。

说明:这里,“自己的文件夹”指任意磁盘获U盘如D盘根目录下以自己的名字和学号命名的子目录(例如姓名为“赵阳”,学号为09080126;则自己的文件夹就是“D:\赵阳09080126”),以后所有的实验若无特殊说明均保存在该目录下。 思考:除了上述方法,还可以怎样实现上述题目要求?试一试。 实验1.2 对象移动动画 实验任务: 熟悉Move方法实现对象移动,进一步熟悉控件事件的使用。实验结果界面如图1-2所示。 图1-2 实验1.2运行界面 实验步骤: 1.将窗体的Caption属性设为“欢迎新同学”;为窗体设置Picture属性(图片可以从C:\Windows\Web\Wallpaper中取,也可放自己喜欢的照片),设置窗体不可改变大小。 2.在窗体上添加两个标签,Caption属性为“欢迎新同学”,并将其设置为浮雕效果(提示:浮雕效果可以由两个背景风格为透明、前景颜色不同、位置稍有错位

用VB操作EXCEL(VB6.0)(整理)

用VB操作Excel(VB6.0)(整理)全面控制Excel: 首先创建Excel对象,使用ComObj: Dim ExcelID as Excel.Application Set ExcelID as new Excel.Application 1)显示当前窗口: ExcelID.Visible:=True; 2)更改Excel标题栏: ExcelID.Caption:='应用程序调用MicrosoftExcel'; 3)添加新工作簿: ExcelID.WorkBooks.Add; 4)打开已存在的工作簿: ExcelID.WorkBooks.Open('C:\Excel\Demo.xls'); 5)设置第2个工作表为活动工作表: ExcelID.WorkSheets[2].Activate; 或ExcelID.WorkSheets['Sheet2'].Activate; 6)给单元格赋值: ExcelID.Cells[1,4].Value:='第一行第四列'; 7)设置指定列的宽度(单位:字符个数),以第一列为例: ExcelID.ActiveSheet.Columns[1].ColumnsWidth:=5; 8)设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:ExcelID.ActiveSheet.Rows[2].RowHeight:=1/0.035;//1厘米 9)在第8行之前插入分页符: ExcelID.WorkSheets[1].Rows[8].PageBreak:=1; 10)在第8列之前删除分页符: ExcelID.ActiveSheet.Columns[4].PageBreak:=0; 11)指定边框线宽度: ExcelID.ActiveSheet.Range['B3:D4'].Borders[2].Weight:=3;

(完整版)vb连接access数据库及数据读写操作

ACCESS数据库和VB的连接 Edited by Ryan 2013 1、建立Access数据库 2、启动VB,建立标准EXE 图1 3、添加ActiveX控件 鼠标指向任意VB控件,单击右键,选择“部件(O)”,出现图3所示界面 图2

图3 选择部件“Microsoft ADO Data Control 6.0 (OLEDB)”,出现如图4所示控件 图4

4、添加控件Adodc 图5 4、在控件Adodc上添加数据源 鼠标指向控件Adodc1,单击右键,选择“ADODC 属性”,弹出如图7所示界面 图6

图7 单击“生成(U). . .”,弹出如图8所示界面 图8 选择“Microsoft Jet 4.0 OLE DB Provider”,单击“下一步(N) >>”,弹出如图9所示界面

图9 单击“. . .”,添加数据源(第一步所建Access 数据库),如图10所示 图10 单击“测试连接(T)”,出现提示框,如图11所示 图11 之后点击“确定”,退回到如图12所示界面

图12 单击“记录源”,弹出如图13所示界面 图13 在“命令类型”下,选择“1 - adCmdText”,在“命令文本(SQL)”下,输入“Select * from test1”,最后单击“应用”,“确定”即可 之后,进入程序书写部分 程序部分需要注意接头形式及简单例子如下: Private Sub Command1_Click() ‘VB按钮控件 Dim mydb As New ADODB.Connection ‘定义新的数据库连接 mydb.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\read database\test1\test1.mdb" ‘数据库绝对路径 Dim rs As New ADODB.Recordset ‘定义数据库的一个对象 mydb.Open ‘打开数据库 rs.Open "select * from test1", mydb, 3, 3 ‘打开数据库中的表test1

vb读取excel数据

取得excel文件所有内容: 'add microsoft ado frist. Private Sub Command2_Click() Dim adoConnection As New ADODB.Connection Dim adoRecordset As New ADODB.Recordset CommonDialog1.ShowOpen 'OLE DB + ODBC Driver 方式: 'adoConnection.Open "Data Provider=MSDASQL.1;driver=Microsoft Excel Driver (*.xls);DBQ=e:\temp\book2.xls" 'Microsoft.Jet.OLEDB.4.0 方式,(建?) adoConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & CommonDialog1.FileName & ";Extended Properties='Excel 8.0;HDR=Yes'" adoRecordset.Open "select * from [sheet1$]", adoConnection, adOpenKeyset, adLockOptimistic Debug.Print adoRecordset.RecordCount Dim i As Integer Do Until adoRecordset.EOF For i = 0 To adoRecordset.Fields.Count - 1 Debug.Print adoRecordset.Fields.Item(0).Name Debug.Print adoRecordset.Fields.Item(0).Value Next i adoRecordset.MoveNext Loop End Sub 但还不知道如何取得sheet名,不好意思,那位老鸟知道请告知,谢谢 sheet名用Excel.Application对象 Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Set xlApp = New Excel.Application Set xlBook = xlApp.Workbooks.Open("C;\123.xls")) For i = 1 To intSheetSum strTemp=xlBook.Worksheets(i).name Next i Dim xlsconn As New ADODB.Connection

vb读取文本文件内容并打印输出

读取文本文件内容并打印输出 Private Sub Command1_Click() Dim TextLine As String Open "c:\\testfile.txt" For Input As #1 Do While Not EOF(1) Line Input #1, TextLine Print TextLine Loop Close #1 End Sub 新建文件并写入文件内容 Private Sub Form_Load() Const ForReading = 1, ForWriting = 2 Dim fso, f Dim SkipLineInFile As String Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.OpenTextFile("c:\\testfile.txt", ForWriting, True) f.Write "Hello world!" & vbCrLf & "VB Script is fun!" Set f = fso.OpenTextFile("c:\\testfile.txt", ForReading) SkipLineInFile = f.readall Debug.Print SkipLineInFile End Sub 冒泡上浮 Private Sub Command1_Click() Dim d(1 To 4) As Integer d(1) = Val(Text1.Text) d(2) = Val(Text2.Text) d(3) = Val(Text3.Text) d(4) = Val(Text4.Text) For i = 1 To 3 For j = 4 To i + 1 Step -1 If d(j) < d(j - 1) Then t = d(j) d(j) = d(j - 1) d(j - 1) = t End If Next j Next i For i = 1 To 4

vb6的文件操作

总结一下VB6的文件操作,省得要用的时候又到处查找。 一、文件类型 1、顺序文件(文本文件):以ASCII码形式存放的文件。似乎还有Unicode码存放的,有没有BCD码的呢? 2、随机访问文件:这种文件格式很有特点:文件中存放若干条等长的单元(也可以说是记录);每个单元包含同类型、等数量、等长度的数据项;文件中,除了字符串以ASCII码存放之外,其它都以二进制形式直接存放,节省存储空间。这种文件类型非常适合存储需要和软件交互的数据,如结构体数据、类数据等。这也是VB特有的文件访问方式。 3、二进制文件:以二进制形式存放,PE程序文件一般都是这个类型。 二、操作方法 1、顺序文件 打开:Open 文件名For Input | Output | Append As [#]文件号 Input打开读入,文件不存在报错。Output打开覆盖写入,文件不存在则创建。Append打开追加写入,文件不存在则创建。 读:Line Input #文件号, 字符串变量

读一行数据存入字符串变量,数据包括空格、Tab、等,不包括回车符和换行符,所以要显示文件的换行效果,要手动添加回车符和换行符(vbCrLf) Input #文件号, 变量1[, | ;] [变量2]... 这种方式可以存入多个变量,而且变量类型不限于字符串型。写:Print #文件号, 参数1[, | ;] [参数2]... 将各参数逐个写入文件。参数间用逗号隔开时,文件中相应插入多个空格;用分号隔开时,插入一个空格。可以用Spc(n)、Tab(n)等进行排版。 Write #文件号, 参数1[, | ;] [参数2]... 这种写入方式将自动添加界定符,对不同参数的类型加以界定。 2、随机访问文件 打开:Open 文件名[For Random] As [#]文件号Len = 记录长度 For Random可以省略,文件不存在则创建,读写都是这种打开方式。Len是文件中记录的一条长度,用以识别记录的开始与结束,经常用Len(记录名)来获取长度。 读:Get [#]文件号, [记录号], 变量

(完整版)vb连接access数据库及数据读写操作.docx

ACCESS数据库和 VB 的连接 Edited by Ryan 2013 1、建立 Access 数据库 2、启动 VB,建立标准EXE 图 1 3、添加 ActiveX 控件 鼠标指向任意VB 控件,单击右键,选择“部件(O)”,出现图 3 所示界面图2

图3 选择部件“ Microsoft ADO Data Control 6.0 (OLEDB) ”,出现如图 4 所示控件图4

4、添加控件Adodc 图5 4、在控件 Adodc 上添加数据源 鼠标指向控件Adodc1 ,单击右键,选择“ADODC 属性”,弹出如图7 所示界面图6

图7 单击“生成(U). . .”,弹出如图8 所示界面 图8 选择“ Microsoft Jet 4.0 OLE DB Provider”,单击“下一步(N) >>”,弹出如图 9 所示界面

图9 单击“ . . .”,添加数据源(第一步所建Access 数据库),如图 10 所示 图10 单击“测试连接(T)”,出现提示框,如图11 所示 图11 之后点击“确定” ,退回到如图12 所示界面

图12 单击“记录源” ,弹出如图13 所示界面 图13 在“命令类型”下,选择“ 1 - adCmdText”,在“命令文本( SQL)”下,输入“ Select * from test1 ”,最后单击“应用”,“确定”即可 之后,进入程序书写部分 程序部分需要注意接头形式及简单例子如下: Private Sub Command1_Click()‘VB按钮控件 Dim mydb As New ADODB.Connection ‘定义新的数据库连接 mydb.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\read database\test1\test1.mdb" ‘数据库绝对路径 Dim rs As New ADODB.Recordset ‘定义数据库的一个对象 mydb.Open‘打开数据库 rs.Open "select * from test1", mydb, 3, 3‘打开数据库中的表test1

VB创建一个文件夹

★ 用VB在硬盘上创建一个文件夹:Mkdir语句。格式: Mkdir "路径及文件夹名" mkdir "c:\windows\desktop\李新宁" 在桌面上创建个名为"李新宁"的文件夹 又如: Private Sub Command2_Click() MkDir "c:\windows\desktop\mydir" End Sub 如果缺省路径,则为本VB程序的当前路径,如:mkdir "mydir",在当前目录下创建一个文件夹,名为mydir. 用VB删除一个文件夹(空文件夹):RmDir语句,格式: rmdir "路径及文件夹名" 用法与上面类似,此不再说明.如果一个文件夹内有文件,那么,要先用KILL语句删除文件,再用rmdir删除文件夹。格式: kill "路径及文件名" 在路径及文件名中,省略路径则指当前路径,并可用通配符"*"和"?"来删除多个文件,如:kill "*.txt" ,将当前目录下的所有文本文件全部删除。注意:KILL语句删除的文件不会放入回收站。 在调用函数或过程时,该函数或过程如果作为表达式,则其实参要括号,如果调用时是作为语句,实参则不要括号。下面两句是等价的。 SetWindowTextA Form1.hwnd, "API函数修改标题栏文字" --函数语句 Call SetWindowTextA(Form1.hwnd, "API函数修改标题栏文字") --函数为表达式 API调用格式中的 lib"库名" 有一点要注意,如果不是调用Windows\system文件夹下的DLL 库,则要指明路径名,如: public declare function lxnsdll lib "d:\student\mydll.dll"(byval a as integer,byval b as integer) as long 在程序中窗体的运行位置是用一个叫做"窗体布局"的窗口来调整的,可否用另外的替代法,而不用这个不精确的"窗体布局"窗口呢? 当然可以,那就是在代码中,例如要使窗体居于显示器中央,有两个新属性变量,screen.width和screen.height,分别表示本显示器的屏幕宽度(screen.width)和显示器高度(screen.height).用屏幕宽度减去窗体FORM1宽度再除以2,就可得到FORM的left 左边距了(也就是横坐标吧),用屏幕高度减FORM1高度再除以2。就可得到FORM的top 上边距了(纵坐标),这样便可居中,如下: Form1.Left = (Screen.Width - Form1.Width) / 2 Form1.Top = (Screen.Height - Form1.Height) / 2 VB基本概念:对象--对象是具有某些特性的具体事物的抽象。 我在使用VB时遇到一个问题,我想用一个组框(frame1)将几个按纽括在一起,可是当组框画上去后却会把按纽都覆盖掉。按纽不见了(在frame1图层下面),怎么办?什么办法可以决定几个对象重合时,哪个在上,哪个在下?办法如下:1,选中要改变图层前后的对象;2,在"格式"菜单中"顺序"菜单项中选"置前"(在上面)或"置后"(在下面)即可。另外,在代码中也可以,用zorder方法,格式: 对象名.zorder 0或1(0为置前,1为置后) frame1.zorder 1 重点笔记:事件

相关文档
最新文档