vb6的文件操作

合集下载

用VB6操纵Excel文档执行操作

用VB6操纵Excel文档执行操作

用VB6操纵Excel文档执行操作通过VBA操纵Excel很容易,其实可以实现任何Excel里的操作Dim ex As ObjectDim exwbook As Object'Create fileSet ex = CreateObject("Excel.Application")Set exwbook = ex.Workbooks().Add'Open file'ex.Workbooks.Open filename:="G:\My Documents\bank.xls"'showex.Visible = True'Valueex.Worksheets("Sheet1").range("a1").Cells(1, 1) = "'Sheet1"ex.Worksheets("Sheet2").range("a1").Cells(1, 1) = "'Sheet2"ex.Worksheets("Sheet3").range("a1").Cells(1, 1) = "'Sheet3"'Rename Sheetex.Sheets("Sheet1").Name = "PCA"'Add a new Sheetex.Sheets.Add'Delete someone Sheet you want'ex.Sheets("Sheet2").Select'ActiveWindow.SelectedSheets.Delete'Save Fileexwbook.saveas App.Path & "\test.xls"'quit excelex.Quit解释一下:首先是定义两个变量,ex和exwbook,只不过这两个变量是用于”对象“类型的。

vb6类模块例子

vb6类模块例子

vb6类模块例子VB6(Visual Basic 6)是一种基于事件驱动的编程语言,它广泛应用于Windows平台的软件开发。

在VB6中,类模块是一种重要的编程结构,它允许开发者将相关的属性、方法和事件封装在一个单独的模块中,以提高代码的可维护性和复用性。

下面是10个例子,展示了VB6类模块的使用场景和功能。

1. 文件操作类模块:封装了打开、读取、写入和关闭文件的方法,提供了简洁易用的接口,方便开发者进行文件操作。

2. 数据库连接类模块:封装了与数据库的连接、查询和更新等操作,提供了统一的接口,简化了数据库操作的代码。

3. 图形绘制类模块:封装了绘制图形(如矩形、圆形、线条等)的方法,提供了简单易用的接口,方便开发者进行图形绘制。

4. 网络通信类模块:封装了网络通信相关的方法,如建立TCP连接、发送和接收数据等,提供了方便的接口,简化了网络通信的代码。

5. 加密解密类模块:封装了常见的加密解密算法(如DES、AES等),提供了简单易用的接口,方便开发者进行数据的加密解密操作。

6. 日志记录类模块:封装了日志记录的方法,提供了统一的接口,方便开发者进行日志记录,便于调试和错误追踪。

7. 图像处理类模块:封装了图像处理的方法,如缩放、旋转、裁剪等,提供了简单易用的接口,方便开发者进行图像处理。

8. 邮件发送类模块:封装了发送邮件的方法,提供了简洁易用的接口,方便开发者进行邮件发送操作。

9. 数据校验类模块:封装了常见的数据校验方法,如验证邮箱、电话号码等,提供了简单易用的接口,方便开发者进行数据校验。

10. 定时任务类模块:封装了定时任务的方法,如设置定时执行的时间间隔、执行任务等,提供了简单易用的接口,方便开发者进行定时任务的管理。

这些例子展示了VB6类模块在不同领域的应用,可以看出类模块的优点是可以将相关的功能封装在一起,提供清晰的接口,方便开发者进行代码的组织和复用。

使用类模块可以提高代码的可读性、可维护性和可扩展性,减少代码的重复和冗余,提高开发效率和代码质量。

vb6中copyfile用法

vb6中copyfile用法

vb6中copyfile用法VB6中CopyFile用法简介CopyFile函数是VB6中用于复制文件的一个重要函数。

它可以将一个文件从一个位置复制到另一个位置,同时还可以指定是否覆盖已存在的文件。

使用语法Public Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVa l lpNewFileName As String, ByVal bFailIfExists As Long) As Long参数说明: - lpExistingFileName:被复制的文件的路径和文件名。

- lpNewFileName:新文件的路径和文件名。

- bFailIfExists:指示如果目标文件已存在时是否覆盖。

0表示覆盖,非0表示不覆盖。

示例用法基本用法Dim sourceFile As StringDim destinationFile As StringsourceFile = "C:\Temp\"destinationFile = "C:\Temp\"CopyFile sourceFile, destinationFile, 0上述代码将把C:\Temp\文件复制到C:\Temp\。

覆盖已存在文件Dim sourceFile As StringDim destinationFile As StringsourceFile = "C:\Temp\"destinationFile = "C:\Temp\"CopyFile sourceFile, destinationFile, 1上述代码将把C:\Temp\文件复制到C:\Temp\,如果``已存在,则会被覆盖。

VB6.0文件操作详细攻略

VB6.0文件操作详细攻略

VB6.0文件操作详细攻略文件:存储在外部介质上数据的集合。

按名存取1. 记录由若干个相互关联的数据项组成。

例如,由学生的学习成绩信息组成的记录:2. 文件及其种类文件是记录的集合(1) 顺序文件按顺序依次把记录写入文件;按顺序依次把记录读出来。

(2) 随机文件随机文件可以直接访问文件中的任意一个记录。

记录长度相同根据记录号访问(1) ASCII码文件数据是以ASCII码进行编码储存的。

(2) 二进制文件(Binary File)数据是以二进制格式进行编码保存的。

6.2 顺序文件1. 打开文件Open "文件名" [For 模式] [Access 操作类型] [锁定] As [#]文件号 [Len=记录长度](1) 模式OUTPUT:写操作INPUT:读操作APPEND:追加到文件未尾(2) 操作类型READ:只读WRITE:只能写READWRITE:读写皆可(3) 锁定:用于多进程环境,是否允许其他进程对打开的文件进行操作Shared(缺省):共享Lock Read:禁止其他进程对该打开的文件进行读操作Lock Write:禁止其他进程对该打开的文件进行写操作Lock Read Write:禁止其他进程对该打开的文件进行读写操作(4) 文件号1~511,可以用FreeFile函数获得下一个可利用的文件号。

(5) 记录长度小于或等于32767的整数。

它指定数据缓冲区的大小。

例如,打开C:\VB\SCORE,供写入数据,指定文件号为#1。

命令:OPEN "C:\VB\SCORE" FOR OUTPUT AS #12. 写入命令Print #文件号,[输出列表]输出列表的意义同Print方法。

保存文本框假定文本框的名称为txtTest,文件名为TEST.DAT。

方法1:把整个文本框的内容一次性地写入文件。

Open "TEST.DAT" For Output As #1Print #1, txtTest.TextClose #1方法2:把整个文本框的内容一个字符一个字符地写入文件。

vb6中 createfile函数用法

vb6中 createfile函数用法

《VB6中CreateFile函数用法详解》在VB6编程中,CreateFile函数是一个非常重要的函数,它用于创建或打开一个文件或设备。

CreateFile函数的用法非常灵活,可以根据我们的需求来进行调整,但是需要注意一些细节和参数的设置。

1. 参数说明在使用CreateFile函数时,需要传入一些参数,这些参数包括文件名、文件的打开方式、文件的属性等等。

具体的参数说明如下:1.1 文件名文件名参数是一个字符串,用于指定要创建或打开的文件名。

这个参数非常重要,需要确保文件名的正确性和完整性。

1.2 访问权限访问权限参数用于指定文件的打开方式,包括读取、写入、读写等等。

根据具体的需求来进行设置,确保文件的正确打开方式。

1.3 属性属性参数用于指定文件或设备的一些属性,比如文件的大小、读写方式、共享方式等等。

根据具体的需求来进行设置,确保文件属性的正确性。

2. CreateFile的具体用法在VB6中,可以通过声明API函数的方式来调用CreateFile函数,其用法如下:2.1 声明API函数首先需要在VB6中声明CreateFile函数所在的库,并且声明CreateFile函数的原型。

这样才能在VB6中正确调用CreateFile函数。

2.2 调用CreateFile函数在进行文件操作前,需要正确调用CreateFile函数来创建或打开文件。

根据前面提到的参数说明,按照具体需求来设置参数,并调用CreateFile函数。

3. 个人观点和理解CreateFile函数在VB6编程中扮演着非常重要的角色,它为我们提供了文件操作的基础功能。

在实际应用中,我们需要根据具体的需求来灵活运用CreateFile函数,确保文件的正确创建和打开。

需要注意参数的设置和错误处理,避免出现意外情况。

总结回顾通过本文的阐述,我们对VB6中CreateFile函数的用法有了更加深入的了解。

在实际编程中,我们需要根据具体的需求来正确调用CreateFile函数,确保文件操作的正确性和稳定性。

vb6 语法详解

vb6 语法详解

VB6,即Visual Basic 6.0,是一种流行的编程语言,广泛应用于Windows 桌面应用程序的开发。

以下是VB6的基本语法详解:1.变量声明:在VB6中,变量必须显式声明。

可以使用Dim关键字进行声明。

例如:2.vbnet复制代码Dim x As Integer上述代码声明了一个名为x的整型变量。

2. 赋值语句:使用=进行赋值。

例如:vbnet复制代码x = 101.条件语句:使用If...Then...Else或If...Then...End If结构。

例如:2.vbnet复制代码If x > 10ThenMsgBox "x is greater than 10"ElseMsgBox "x is less than or equal to 10"End If1.循环语句:使用For...Next、While...Wend或Do...Loop结构。

例如:2.vbnet复制代码For i = 1To10MsgBox iNext i1.数组:使用Dim声明数组,指定数组的维数。

例如:2.vbnet复制代码Dim arr(1To10) As Integer1.过程和函数:使用Sub声明过程,使用Function声明函数。

例如:2.vbnet复制代码Sub SayHello()MsgBox "Hello!"End Sub1.控件:VB6提供了许多内置的控件,如按钮、文本框等,可以直接在窗体设计器中拖放。

例如,要在窗体上添加一个按钮,可以从工具箱拖放一个按钮控件到窗体上。

2.事件驱动编程:VB6是基于事件驱动的编程模型。

当用户与应用程序交互(如单击按钮)时,会触发相应的事件。

例如,当用户单击一个按钮时,会触发一个名为Click的事件。

3.错误处理:使用On Error语句来处理运行时错误。

例如:4.vbnet复制代码On Error GoTo ErrorHandler... ' some code that may raise an errorExit SubErrorHandler:' Handle the error here'1.数据类型:VB6支持多种数据类型,如整型、浮点型、字符串等。

vb6.0高清教程系列_第09章_文件(共九章)


List、ListCount 和 ListIndex等属性,这些属性与列 表框(ListBox)控件基本相同。 目录列表框中的当前目录的 ListIndex 值为-1。紧邻其上的 目录具有 ListIndex 值为-2,再 上一个的ListIndex值为-3,如 右图所示。
2.重要事件——Change事件
例如: OPEN “C:\TEMP\A.TXT ” FOR Input AS #1 OPEN“C:\TEMP\B.TXT ” FOR Output AS #2 OPEN“C:\TEMP\C.TXT ” FOR Append AS #1 2、关闭文件——Close 语句 使用格式如下: Close [filenumberlist] 其中: filenumberlist:可选项,为文件号列表,如:#1, #2, #3,如 果省略,则将关闭Open语句打开的所有活动文件。 例如: Close #1,#2,#3 Close
(6)List、ListCount 和 ListIndex 属性 文件列表框中的List、ListCount 和 ListIndex 属性与列 表框(ListBox)控件的List、ListCount 和 ListIndex 属 性的含义和使用方法相同,在程序中对文件列表框中的 所有文件进行操作,就有用到这些属性。 例如,下段程序是将文件列表框(File1)中的所有文件 名显示在窗体上。 For i = 0 To File1.ListCount - 1 Print File1.List(i) Next i
2. 主要事件
(1)PathChange事件 当路径被代码中FileName或Path属性的设置所改变 时,此事件发生。 说明:可使用PathChange事件过程来响应FileListBox控件 中路径的改变。当将包含新路径的字符串给FileName属 性 赋 值 时 , FileListBox控 件 就 调 用 PathChange事 件 过 程。 (2)PatternChange事件 当文件的列表样式,如:"*.*",被代码中对FileName 或Path属性的设置所改变时,此事件发生。 说明:可使用PatternChange事件过程来响应在 FileListBox控件中样式的改变。

使用VB6操作WinRAR(VB6源代码)

使用Visual Basic 6.0 控制WinRAR进行压缩或解压等操作(1)命令行语法:--------------------------------------------------------------------------------从命令行也可以运行WinRAR 命令,常规的命令行语法描述如下:WinRAR <命令> -<开关1> -<开关N><压缩文件><文件...><@列表文件...><解压路径\>a) 如果未指定文件或是列表文件时,WinRAR 将会以缺省的*.* 运行全部的文件;b) 如果未指定压缩文件扩展名时,WinRAR 将会使用在压缩配置中选定的默认压缩文件格式。

但你可以指定.RAR 或.ZIP 扩展名来替换它们;c) 在命令行所输入的开关会替换相同的配置设置值;d) 在命令c 、e、s、t、rr、k 和x 可在压缩文件名中使用通配符。

如此可以用单个的命令来进行超过一个以上的压缩文件,除此之外,如果你指定-r 开关于这些命令时,它们将会搜索在子文件夹中的压缩文件;e) 某些命令和开关只应用在RAR 压缩文件,有些则在RAR 和ZIP 都可使用,而某些则可应用在全部的压缩文件格式。

这一些都得看压缩文件格式所提供的特性而定;f) 命令和开关的大小写是相同意思的,你可以用大写或者小写来下命令均可;g)你可以在命令行中同时指定普通的文件名和列表文件名;h)解压路径只与命令e 和x ,搭配使用。

指出解压文件添加的位置。

如果文件夹不存在时,会自动创建。

(2)字母命令列表(3)详解各个命令:--------------------------------------------------------------------------------命令 A - 添加文件到压缩文件添加指定的文件和文件夹到压缩文件中。

vb6.0文件操作函数

vb6.0文件操作函数CloseHandle 关闭一个内核对象。

其中包括文件、文件映射、、线程、安全和同步对象等CompareFileTime 对比两个文件的时间CopyFile 复制文件CreateDirectory 创建一个新目录CreateFile 打开和创建文件、管道、邮槽、服务、设备以及控制台CreateFileMapping 创建一个新的文件映射对象DeleteFile 删除指定文件DeviceIoControl 对设备执行指定的操作DosDateTimeT oFileTime 将DOS日期和时间值转换成一个win32FILETIME值FileTimeToDosDateTime 将一个win32FILETIME值转换成DOS 日期和时间值FileTimeToLocalFileTime 将一个FILETIME结构转换成本地时间FileTimeToSystemTime 根据一个FILETIME结构的内容,装载一个SYSTEMTIME结构FindClose 关闭由FindFirstFile函数创建的一个搜索句柄FindFirstFile 根据文件名查找文件FindNextFile 根据调用FindFirstFile函数时指定的一个文件名查找下一个文件FlushFileBuffers 针对指定的文件句柄,刷新内部文件缓冲区FlushViewOfFile 将写入文件映射缓冲区的所有数据都刷新到磁盘GetBinaryType 判断文件是否可以执行GetCompressedFileSize 判断一个压缩文件在磁盘上实际占据的字节数GetCurrentDirectory 在一个缓冲区中装载当前目录GetDiskFreeSpace 获取与一个磁盘的组织有关的,以及了解剩余空间的容量GetDiskFreeSpaceEx 获取与一个磁盘的组织以及剩余空间容量有关的GetDriveType 判断一个磁盘驱动器的类型GetExpandedName 取得一个压缩文件的全名GetFileAttributes 判断指定文件的属性GetFileInformationByHandle 这个函数提供了获取文件的一种机制GetFileSize 判断文件长度GetFileTime 取得指定文件的时间GetFileType 在给出文件句柄的前提下,判断文件类型GetFileVersionInfo从支持版本标记的一个模块里获取文件版本GetFileVersionInfoSize 针对包含了版本资源的一个文件,判断容纳文件版本需要一个多大的缓冲区GetFullPathName 获取指定文件的完整路径名GetLogicalDrives 判断系统中存在哪些逻辑驱动器字母GetLogicalDriveStrings 获取一个字串,其中包含了当前所有逻辑驱动器的根驱动器路径GetOverlappedResult 判断一个重叠操作当前的状态GetPrivateProfileInt 为初始化文件(.ini文件)中指定的条目获取一个整数值GetPrivateProfileSection 获取指定小节(在.ini文件中)所有项名和值的一个列表GetPrivateProfileString 为初始化文件中指定的条目取得字串GetProfileInt 取得win.ini初始化文件中指定条目的一个整数值GetProfileSection 获取指定小节(在win.ini文件中)所有项名和值的一个列表GetProfileString 为win.ini初始化文件中指定的条目取得字串GetShortPathName 获取指定文件的短路径名GetSystemDirectory 取得系统目录(即System目录)的完整路径名GetTempFileName 这个函数包含了一个临时文件的名字,它可由应用程序使用GetTempPath 获取为临时文件指定的路径GetVolumeInformation 获取与一个磁盘卷有关的GetWindowsDirectory 获取Windows目录的完整路径名hread 参考lreadhwrite参考lwrite函数lclose 关闭指定的文件lcreat 创建一个文件llseek 设置文件中进行读写的当前位置LockFile 锁定文件的某一部分,使其不与其他应用程序共享LockFileEx 与LockFile相似,只是它提供了更多的功能lopen 以二进制模式打开指定的文件lread 将文件中的数据读入内存缓冲区lwrite 将数据从内存缓冲区写入一个文件LZClose 关闭由LZOpenFile或LZInit函数打开的一个文件LZCopy 复制一个文件LZInit 这个函数用于初始化内部缓冲区LZOpenFile 该函数能执行大量不同的文件处理,而且兼容于压缩文件LZRead 将数据从文件读入内存缓冲区LZSeek设置一个文件中进行读写的当前位置MapViewOfFile 将一个文件映射对象映射到当前应用程序的地址空间MoveFile 移动文件OpenFile 这个函数能执行大量不同的文件操作OpenFileMapping 打开一个现成的文件映射对象QueryDosDevice 在中,DOS设备名会映射成NT系统设备名。

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

用VB操作Excel(VB6.0)(整理)全面控制Excel:首先创建Excel对象,使用ComObj:Dim ExcelID as Excel.ApplicationSet ExcelID as new Excel.Application1)显示当前窗口: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;1-左2-右3-顶4-底5-斜(\) 6-斜(/)12)清除第一行第四列单元格公式:ExcelID.ActiveSheet.Cells[1,4].ClearContents;13)设置第一行字体属性:ExcelID.ActiveSheet.Rows[1]:='隶书';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;e.顶边距2cm:ExcelID.ActiveSheet.PageSetup.TopMargin:=2/0.035;f.底边距2cm:ExcelID.ActiveSheet.PageSetup.BottomMargin:=2/0.035;g.左边距2cm:ExcelID.ActiveSheet.PageSetup.LeftMargin:=2/0.035;h.右边距2cm:ExcelID.ActiveSheet.PageSetup.RightMargin:=2/0.035;i.页面水平居中:ExcelID.ActiveSheet.PageSetup.CenterHorizontally:=2/0.035; j.页面垂直居中:ExcelID.ActiveSheet.PageSetup.CenterVertically:=2/0.035; k.打印单元格网线:ExcelID.ActiveSheet.PageSetup.PrintGridLines:=True;15)拷贝操作:a.拷贝整个工作表:ed.Range.Copy;b.拷贝指定区域:ExcelID.ActiveSheet.Range['A1:E2'].Copy;c.从A1位置开始粘贴:ExcelID.ActiveSheet.Range.['A1'].PasteSpecial;d.从文件尾部开始粘贴:ExcelID.ActiveSheet.Range.PasteSpecial;16)插入一行或一列:a.ExcelID.ActiveSheet.Rows[2].Insert;b.ExcelID.ActiveSheet.Columns[1].Insert;17)删除一行或一列:a.ExcelID.ActiveSheet.Rows[2].Delete;b.ExcelID.ActiveSheet.Columns[1].Delete;18)打印预览工作表:ExcelID.ActiveSheet.PrintPreview;19)打印输出工作表:ExcelID.ActiveSheet.PrintOut;20)工作表保存:IfnotExcelID.ActiveWorkBook.SavedthenExcelID.ActiveSheet.PrintPreviewEndif21)工作表另存为:ExcelID.SaveAs('C:\Excel\Demo1.xls');22)放弃存盘:ExcelID.ActiveWorkBook.Saved:=True;23)关闭工作簿:ExcelID.WorkBooks.Close;24)退出Excel:ExcelID.Quit;25)设置工作表密码:ExcelID.ActiveSheet.Protect"123",DrawingObjects:=True,Contents:=True,Scenarios:=True 26)EXCEL的显示方式为最大化ExcelID.Application.WindowState=xlMaximized27)工作薄显示方式为最大化ExcelID.ActiveWindow.WindowState=xlMaximized28)设置打开默认工作薄数量ExcelID.SheetsInNewWorkbook=329)'关闭时是否提示保存(true保存;false不保存)ExcelID.DisplayAlerts=False30)设置拆分窗口,及固定行位置ExcelID.ActiveWindow.SplitRow=1ExcelID.ActiveWindow.FreezePanes=True31)设置打印时固定打印内容ExcelID.ActiveSheet.PageSetup.PrintTitleRows="$1:$1"32)设置打印标题ExcelID.ActiveSheet.PageSetup.PrintTitleColumns=""33)设置显示方式(分页方式显示)ExcelID.ActiveWindow.View=xlPageBreakPreview34)设置显示比例ExcelID.ActiveWindow.Zoom=10035)让Excel响应DDE请求Ex.Application.IgnoreRemoteRequests=False用VB操作EXCEL示例代码Private Sub Command3_Click()On Error GoTo err1Dim i As LongDim j As LongDim objExl As Excel.Application '声明对象变量Me.MousePointer=11 '改变鼠标样式Set objExl=New Excel.Application'初始化对象变量objExl.SheetsInNewWorkbook=1 '将新建的工作薄数量设为1objExl.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 '选中工作薄<book1>For i=1 To 50'循环写入数据For j=1 To 5If i=1 ThenobjExl.Selection.NumberFormatLocal="@" '设置格式为文本objExl.Cells(i,j)="E"&i&jElseobjExl.Cells(i,j)=i&jEndIfNextNextobjExl.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="打印时间:"&_Format(Now,"yyyy年mm月dd日hh:MM:ss")objExl.ActiveWindow.View=xlPageBreakPreview'设置显示方式objExl.ActiveWindow.Zoom=100 '设置显示大小'给工作表加密码objExl.ActiveSheet.Protect"123",DrawingObjects:=True, _ Contents:=True,Scenarios:=TrueobjExl.Application.IgnoreRemoteRequests=FalseobjExl.Visible=True '使EXCEL可见objExl.Application.WindowState=xlMaximized'EXCEL的显示方式为最大化objExl.ActiveWindow.WindowState=xlMaximized'工作薄显示方式为最大化objExl.SheetsInNewWorkbook=3 '将默认新工作薄数量改回3个Set objExl=Nothing'清除对象Me.MousePointer=0 '修改鼠标ExitSuberr1:objExl.SheetsInNewWorkbook=3objExl.DisplayAlerts=False '关闭时不提示保存objExl.Quit'关闭EXCELobjExl.DisplayAlerts=True '关闭时提示保存Set objExl=NothingMe.MousePointer=0End SubPrivate Sub Command3_Click()On Error GoTo err1Dim i As LongDim j As LongDim objExl As Excel.Application '声明对象变量Me.MousePointer = 11 '改变鼠标样式Set objExl = New Excel.Application '初始化对象变量objExl.SheetsInNewWorkbook = 1 '将新建的工作薄数量设为1objExl.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 '选中工作薄<book1>For i = 1 To 50 '循环写入数据For j = 1 To 5If i = 1 ThenobjExl.Selection.NumberFormatLocal = "@" '设置格式为文本objExl.Cells(i, j) = " E " & i & jElseobjExl.Cells(i, j) = i & jEnd IfNextNextobjExl.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 = "打印时间: " & _Format(Now, "yyyy年mm月dd日 h h:MM:ss")objExl.ActiveWindow.View = xlPageBreakPreview '设置显示方式objExl.ActiveWindow.Zoom = 100 '设置显示大小'给工作表加密码objExl.ActiveSheet.Protect "123", DrawingObjects:=True, _Contents:=True, Scenarios:=TrueobjExl.Application.IgnoreRemoteRequests = FalseobjExl.Visible = True '使EXCEL可见objExl.Application.WindowState = xlMaximized 'EXCEL的显示方式为最大化 objExl.ActiveWindow.WindowState = xlMaximized '工作薄显示方式为最大化objExl.SheetsInNewWorkbook = 3 '将默认新工作薄数量改回3个 Set objExl = Nothing '清除对象Me.MousePointer = 0 '修改鼠标Exit Suberr1:objExl.SheetsInNewWorkbook = 3objExl.DisplayAlerts = False '关闭时不提示保存objExl.Quit '关闭EXCELobjExl.DisplayAlerts = True '关闭时提示保存Set objExl = NothingMe.MousePointer = 0End Sub=====================================全面控制 Excel首先创建 Excel 对象,使用ComObj:Dim ExcelID as Excel.ApplicationSet ExcelID as new Excel.Application1) 显示当前窗口: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] := '隶书';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;e.顶边距2cm:ExcelID.ActiveSheet.PageSetup.TopMargin := 2/0.035;f.底边距2cm:ExcelID.ActiveSheet.PageSetup.BottomMargin := 2/0.035;g.左边距2cm:ExcelID.ActiveSheet.PageSetup.LeftMargin := 2/0.035;h.右边距2cm:ExcelID.ActiveSheet.PageSetup.RightMargin := 2/0.035;i.页面水平居中:ExcelID.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035; j.页面垂直居中:ExcelID.ActiveSheet.PageSetup.CenterVertically := 2/0.035; k.打印单元格网线:ExcelID.ActiveSheet.PageSetup.PrintGridLines := True;15) 拷贝操作:a.拷贝整个工作表:ed.Range.Copy;b.拷贝指定区域:ExcelID.ActiveSheet.Range[ 'A1:E2' ].Copy;c.从A1位置开始粘贴:ExcelID.ActiveSheet.Range.[ 'A1' ].PasteSpecial;d.从文件尾部开始粘贴:ExcelID.ActiveSheet.Range.PasteSpecial;16) 插入一行或一列:a. ExcelID.ActiveSheet.Rows[2].Insert;b. ExcelID.ActiveSheet.Columns[1].Insert;17) 删除一行或一列:a. ExcelID.ActiveSheet.Rows[2].Delete;b. ExcelID.ActiveSheet.Columns[1].Delete;18) 打印预览工作表:ExcelID.ActiveSheet.PrintPreview;19) 打印输出工作表:ExcelID.ActiveSheet.PrintOut;20) 工作表保存:If not ExcelID.ActiveWorkBook.Saved thenExcelID.ActiveSheet.PrintPreviewEnd if21) 工作表另存为:ExcelID.SaveAs( 'C:\Excel\Demo1.xls' );22) 放弃存盘:ExcelID.ActiveWorkBook.Saved := True;23) 关闭工作簿:ExcelID.WorkBooks.Close;24) 退出 Excel:ExcelID.Quit;25) 设置工作表密码:ExcelID.ActiveSheet.Protect "123", DrawingObjects:=True, Contents:=True, Scena rios:=True26) EXCEL的显示方式为最大化ExcelID.Application.WindowState = xlMaximized27) 工作薄显示方式为最大化ExcelID.ActiveWindow.WindowState = xlMaximized28) 设置打开默认工作薄数量ExcelID.SheetsInNewWorkbook = 329) '关闭时是否提示保存(true 保存;false 不保存)ExcelID.DisplayAlerts = False30) 设置拆分窗口,及固定行位置ExcelID.ActiveWindow.SplitRow = 1ExcelID.ActiveWindow.FreezePanes = True31) 设置打印时固定打印内容ExcelID.ActiveSheet.PageSetup.PrintTitleRows = "$1:$1"32) 设置打印标题ExcelID.ActiveSheet.PageSetup.PrintTitleColumns = ""33) 设置显示方式(分页方式显示)ExcelID.ActiveWindow.View = xlPageBreakPreview34) 设置显示比例ExcelID.ActiveWindow.Zoom = 10035) 让Excel 响应 DDE 请求Ex.Application.IgnoreRemoteRequests = FalseVB程序操作Excel数据的代码示例一、 VB读写EXCEL表VB本身提自动化功能可以读写EXCEL表,其方法如下:①在工程中引用Microsoft Excel类型库从"工程"菜单中选择"引用"栏;选择Microsoft Excel 9.0 Object Library(EXCEL2000),然后选择"确定"。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

总结一下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 [#]文件号, [记录号], 变量
读一条记录存入变量,可以是系统类型的Integer、Single、String 等等,也可以是自定义类型结构体、类等。

记录号省略时从打开以后最后一次读取的末端开始读取记录。

写:Put [#]文件号, [记录号], 表达式
将表达式中的数据写入文件,表达式可以是各种变量的组合,中间用逗号隔开。

该组数据写入记录号对应的位置,记录号省略时从打开以后最后一次写入的末端开始写入记录。

3、二进制文件
打开:Open 文件名For Binary As [#]文件号
文件不存在则创建,读写都是这种打开方式。

当然也可以用来打开文本文件,读出来将不知所云
读一条记录存入变量,可以是系统类型的Integer、Single、String 等等,也可以是自定义类型结构体、类等。

记录号省略时从打开以后最后一次读取的末端开始读取记录。

读:Get [#]文件号, [读位置], 变量
从“读位置”开始读取数据,读入的长度等于变量的长度,一次读一个。

“读位置”以字节为单位。

“读位置”省略时从打开以后最后一次写入的末端开始读入。

写:Put [#]文件号, [写位置], 表达式
将表达式中的数据写入文件,表达式可以是各种变量的组合,中间用逗号隔开。

该组数据写入“写位置”,“写位置”以字节为单位。

“写位置”省略时从打开以后最后一次写入的末端开始写入。

三、操作权限
使用Input、Binary、Random模式访问,可以同时对单个文件打开多个实例。

使用Append和Output模式之前则必须确定文件Open 文件名For 模式[Access access] [lock ] As [#]文件号[len = 记录长度]
对随机存储文件和二进制文件,可以设置文件的读写权限。

access可写成Read、Write、Read Write,对应只读、只写、读写兼备。

此项功能不适用于顺序文件。

Lock | Unlock 文件号, [记录| [起始记录To终止记录]]
当指明lock标识后,可用以上代码设置文件的共享权限。

对顺序文件,[记录| [起始记录To终止记录]]不起作用,将对整个文件生效;对随机存储文件,将对记录标识中的部分进行权限锁定或解锁。

四、文件操作函数
以上部分可以实现文件操作的一些功能,但要完成如拷贝整个文件、查找文件是否已建立、取文件长度等功能,还需要一些文件操作函数来方便地实现。

Seek:Seek(文件号)
返回文件正在访问的位置,返回值为长整型。

对顺序文件和二进制文件,返回值以字节为单位;对随机访问文件,返回值以记录号为单位。

Seek:Seek [#]文件号,位置
定位文件到指定位置。

位置单位同上所述。

Input:Input (字节数,[#]文件号)
从文件的访问当前位置读入指定字节数的数据。

仅适用于顺序文件和二进制文件。

EOF:EOF(文件号)
判断文件的访问位置是否在文件尾,如果是,返回True,否则,返回False。

LOF:LOF(文件号)
返回文件长度,单位为字节。

FileLen:FileLen (文件名)
返回文件名对应文件的长度,单位是字节。

该函数取磁盘文件标识中的长度,即文件打开前的长度,可以取未打开的文件长度。

GetAttr:GetAttr (Pathname)
返回指定文件或文件夹的属性。

FileAttr:FileAttr (文件号)
返回文件号对应文件的打开方式。

GetDateTime:GetDateTime (Pathname)
返回文件被创建或修改的最后日期和时间。

Free:FreeFile[(0|1)]
返回未被占用的文件号,Free或Free(0)返回1~255之间未占用的文件号,Free(1)返回256~511之间未占用的文件。

Dir:Dir (Pathname [,Attributes])
测试指定路径是否有某文件,Attributes附加文件属性条件,取值vbNormal、vbReadOnly、vbHidden、vbSystem、vbVolume、vbDirectory。

Kill:Kill (文件名)
删除指定文件,文件名可包含路径。

FileCopy:FileCopy 源文件,目标文件
拷贝文件。

Name:Name 旧文件名As 新文件名
文件重命名。

前后路径不一致时,操作为移动文件并重命名。

MkDir:MkDir path
新建文件夹。

RmDir:Rmdir path
删除文件夹。

ChDrive:ChDrive Drive
改变当前驱动器ChDrive "D"
CurDir:CurDir [(driver)]
返回当前工作路径,指定driver则返回目标驱动器的当前工作路径。

五、文件操作实战
1、新建文本文件a.txt,写入数据,关闭。

打开该文件,全部读入到新建文件b.txt,关闭。

'新建文件,并写入数据,关闭
Open "a.txt" For Output As #1
Print #1, "ABCDEFG"; vbCrLf; "HIJK"
Close #1
'打开文件,并全部写入新文件,关闭
Open "a.txt" For Input As #2
Open "b.txt" For Output As #3
Dim str As String
While (Not EOF(2))
Line Input #2, str
Print #3, str
Wend
Close
2、新建随机存储文件a.dat,写入数据,关闭。

打开该文件,读入到新建文件b.dat,关闭。

'以下代码位于Module模块
'定义自定义类型结构体
Public Type Struct
elem1 As Integer
elem2 As String * 5
End Type
'以下代码位于窗体模块
'新建文件,并写入记录,关闭
Open "a.dat" For Random As #1 Len = Len(st) Put #1, , st
Close #1
'打开文件,并写入新文件,关闭
Open "a.dat" For Random As #2 Len = Len(st) Open "b.dat" For Random As #3 Len = Len(st) Dim st2 As Struct
Get #2, , st2
Put #3, , st2
Close
3、二进制文件操作类似于随机存储文件,不再举例。

相关文档
最新文档