主页 | excel电子表格 | Word办公 | PPT教学 | Wps文档处理 |

vb程序读写办公软件excel文件操作

    1. vb读写文本文件

    首先,你的文本文件中每行只有4个数据,但你却用5个变量去读,这样读到最后一行的时候就会出现有些变量没有对应数据的情况,VB就会提示“输入超出文件尾”(注意哦,只有“输入超出文件尾”的,没有“输出超出文件尾”的);

    其次,建议你最好不要用多个变量去读取文本数据,因为这对文本数据的格式是有严格要求的,即不能有空行(包括文件末尾也不能有空行)、每行的数据数量要绝对固定,否则就会出错。最好是先读取整行数据,再从中分解出每个数据。下面是我改进后的代码,仅供参考:

    2. vb读入文本文件

    VB中在TEXT文本框输入文本应该不是问题,文本框获得焦点,就可直接在文本框输入文本。估计问的是如何输入文本文件到文本框。使用Open语句打开文本文件,逐行读入文本文件。

    3. vbs文件读写

    可以的,只要变量名字符串拼接的正确。你要一次读取这么多变量,最好在循环语句中创建一个tagset.dim groupset group=HMIRuntime.Tags.CreateTagSetFor i=1to2000group.Add "Data"&i&".IA_2"Next igroup.Read

    4. vbs读取文本某一段文字

    把文本文件处理为数组,每行为一个数组元素,然后在每个元素中查找关键词,vbs可以直接使用instr函数来查找,也可以使用正则表达式查找。找到后把那个数组元素复制出来就可以了。第一种,使用instrc = split(createobject("scripting.filesystemobject").opentextfile("a.txt").readall,vbcrlf)for i = 0 to ubound(c)if instr(c(i),"nice") then msgbox c(i)next第二种,使用正则表达式c = split(createobject("scripting.filesystemobject").opentextfile("a.txt").readall,vbcrlf)for i = 0 to ubound(c)if rt("nice",c(i)) then msgbox c(i)nextFunction rt(patrn,str)set regex=new regexpregex.pattern = patrnregex.ignorecase = falsert = regex.test(str)End Function

    5. vb 写入文件

    '显示所选择的文本文件的内容,流操作,读文件 Private Sub showtxt() Dim ae As New ASCIIEncoding() Dim str As String Dim str1 As String Dim bytes(1000) As Byte Dim node As TreeNode node = Me.TreeView1.SelectedNode str = getpath(node) fs = New FileStream(str, FileMode.Open) fs.BeginRead(bytes, 0, 1000, AddressOf endread, New Object()) str1 = ae.GetString(bytes) Me.TextBox2.Text = str1 If Err.Number <> 0 Then MsgBox(打开文件失败!) Else MsgBox(打开文件成功!) End If End Sub Private Sub endread(ByVal l As IAsyncResult) fs.EndRead(l) fs.Close() End Sub

    6. vb 读文件

    VB将文本框的数据读取和保存到文本文件中,实际上就是VB对txt的读写操作。相关代码如下:

    1、vb读取txt文件内容,以下代码实现把电脑txt中的内容读取到程序文本框text1中。

    Private Sub Command1_Click() Open App.Path & "\123.txt" For Input As #1 '备注:App.Path & "\123.txt"是程序目录下的123.txt Dim Lines As String Line Input #1, Lines '读取文本内容 Close #1 text1.Text = LinesEnd Sub2、vb写入txt内容,实现文本框的数据写入到文本文件中。

    Private Sub Command2_Click() Dim a As String a = text1.Text '先读取出text1内容 Open App.Path & "\123.txt" For Output As #1 Print #1, a '把a的值写入123.txt Close #1End Sub

    7. vb二进制文件的读写

    10进制数转换为2进制数的方法,其实就是把10进制数不断除以2,然后把每次相除的余数按逆序的方式排列出来就是了(此方法适用于10进制数转换为任意n进制数,只要把上述的2换为n即可,当然,如果n大于10,就要用其他符号来代替大于10的数了,比如16进制的ABCDEF)

    d = Val(InputBox("请任意输入一个整数")) 'd是任意一个10进制整数n = 2 '转为二进制

    h = "" 'h是用来存放二进制数的字符串

    Do While d > 0 '如果d大于0就继续循环

    h = (d Mod 2) & h '把d与2相除的余数进行拼接

    d = d \ 2 '把d与2进行整除

    Loop

    MsgBox d & "转为二进制是" & h '显示结果

    8. vb中如何写入文本文件

    Private Sub Command1_Click() Dim a(6) As Single For i = 0 To UBound(a) a(i) = i ^ 2 Next i Open "c:\1.txt" For Output As #1 For i = 0 To UBound(a) Print #1, a(i) Next i Close #1Shell "notepad.exe c:\1.txt", vbNormalFocusEnd Sub

    9. vb 文件读写

    1.双击Command1添加如下代码

    Private Sub Command1_Click()

    Dim strFile As String

    Dim intFile As Integer

    Dim strData As String

    strFile = "c:\学生成绩.txt"

    intFile = FreeFile

    Open strFile For Input As intFile

    strData = StrConv(InputB(FileLen(strFile), intFile), vbUnicode)

    Debug.Print strData

    Close intFile

    End Sub

    2.运行代码读取文件

    按F8开始单步调试代码,点击Command1,进入单步调试功能,多次按下F8或直接按下F5运行完成,就完成了读取文本文件内容并输出到立即窗口。

    3.关键代码说明

    intFile = FreeFile:获取一个文件句柄

    Open strFile For Input As intFile :打开文件

    FileLen(strFile) :获取文件内容字节大小

    InputB:读取文件内容字节流

    StrConv:将字节流转换为Unicode字符串

    Debug.Print strData:将字符串内容输出到立即窗口

    Close intFile:关闭文件句柄

    10. vb读写excel文件

    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;

    参考代码:ActiveSheet.HPageBreaks(1).Location = Range("A22")

    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].Font.Name := \'隶书\';

    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.拷贝整个工作表:

    ExcelID.ActiveSheet.Used.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 then

    ExcelID.ActiveSheet.PrintPreview

    End if

    21) 工作表另存为:

    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 = xlMaximized

    27) 工作薄显示方式为最大化

    ExcelID.ActiveWindow.WindowState = xlMaximized

    28) 设置打开默认工作薄数量

    ExcelID.SheetsInNewWorkbook = 3

    29) \'关闭时是否提示保存(true 保存;false 不保存)

    ExcelID.DisplayAlerts = False

    30) 设置拆分窗口,及固定行位置

    ExcelID.ActiveWindow.SplitRow = 1

    ExcelID.ActiveWindow.FreezePanes = True

    31) 设置打印时固定打印内容

    ExcelID.ActiveSheet.PageSetup.PrintTitleRows = "$1:$1"

    32) 设置打印标题

    ExcelID.ActiveSheet.PageSetup.PrintTitleColumns = ""

    33) 设置显示方式(分页方式显示)

    ExcelID.ActiveWindow.View = xlPageBreakPreview

    34) 设置显示比例

    ExcelID.ActiveWindow.Zoom = 100

    35) 让Excel 响应 DDE 请求

    Ex.Application.IgnoreRemoteRequests = False

    用VB操作EXCEL

    Private Sub Command3_Click()

    On Error GoTo err1

    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 \'选中工作薄<book1>

    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 = "打印时间: " & _

    Format(Now, "yyyy年mm月dd日 hh:MM:ss")

    objExl.ActiveWindow.View = xlPageBreakPreview \'设置显示方式

    objExl.ActiveWindow.Zoom = 100 \'设置显示大小

    objExl.ActiveSheet.PageSetup.Orientation = xlLandscape ‘设置打印方向(横向)

    \'给工作表加密码

    objExl.ActiveSheet.Protect "123", DrawingObjects:=True, _

    Contents:=True, Scenarios:=True

    objExl.Application.IgnoreRemoteRequests = False

    objExl.Visible = True \'使EXCEL可见

    objExl.Application.WindowState = xlMaximized \'EXCEL的显示方式为最大化

    objExl.ActiveWindow.WindowState = xlMaximized \'工作薄显示方式为最大化

    objExl.SheetsInNewWorkbook = 3 \'将默认新工作薄数量改回3个

    Set objExl = Nothing \'清除对象

    Me.MousePointer = 0 \'修改鼠标

    Exit Sub

    err1:

    objExl.SheetsInNewWorkbook = 3

    objExl.DisplayAlerts = False \'关闭时不提示保存

    objExl.Quit \'关闭EXCEL

    objExl.DisplayAlerts = True \'关闭时提示保存

    Set objExl = Nothing

    Me.MousePointer = 0

    End Sub

    11. vb读取word

    1.安装word

    2.在VB开发环境里引入Office Word对象

    3.在按钮中用CreateObject或New来产生一个word对象

    4.调用该对象,直接实现替换等操作

    5.如果不知道用什么语句,可以用word里的宏编辑器记录所进行的操作,把生成的vbA代码拷贝到vb环境中即可

  • 打开一个办公软件excel会出现三个
  • 怎样使办公软件excel只能输入数字