vb读取文本文件内容并打印输出
- 格式:doc
- 大小:37.00 KB
- 文档页数:4
VB操作EXCEL,实现数据写入以及数据组合1】定义EXCEL的一系列操作Dim xlApp As Excel.ApplicationDim ExcelShowStr As StringSet xlApp = CreateObject("Excel.Application")xlApp.Visible = trueAppLog (CStr(Date) & "_" & CStr(Time) & ":Set xlApp=new Excel.Application") Dim xlBook As WorkbookDim xlSheet As WorksheetDim xlrow, sheetIndex, sheetColumn As Integer' ="D:\VB英迈\Template\WriteData.xls" Editable=空值Set xlBook = xlApp.Workbooks.Open(, 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).VerticalAlignment = 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 '单元格的数据为粗体显示xlSheet.Range(xlSheet.Cells(beginRow, 1), xlSheet.Cells(endRow - 1,19)).Interior.ColorIndex = ConstModule.COLOR_SILVER '单元格的背景颜色定义数组,一次性写入,列子如下:If DetailRes.RecordCount > 0 ThenDetailRes.MoveFirstFor row2 = 0 To DetailRes.RecordCount - 1Dim arrayProduct(50, 17) As StringarrayProduct(row2, 0) = DetailRes.Fields("Product")arrayProduct(row2, 1) = DetailRes.Fields("rev")arrayProduct(row2, 2) = DetailRes.Fields("sagm")arrayProduct(row2, 3) = DetailRes.Fields("sagm_per") & "%"arrayProduct(row2, 4) = DetailRes.Fields("gp")arrayProduct(row2, 5) = DetailRes.Fields("gp_per") & "%"arrayProduct(row2, 6) = DetailRes.Fields("opex")arrayProduct(row2, 7) = DetailRes.Fields("opex_per") & "%"arrayProduct(row2, 8) = DetailRes.Fields("oper_profit")arrayProduct(row2, 9) = DetailRes.Fields("oper_profit_per") & "%"arrayProduct(row2, 10) = DetailRes.Fields("dio")arrayProduct(row2, 11) = DetailRes.Fields("dpo")arrayProduct(row2, 12) = DetailRes.Fields("dso")arrayProduct(row2, 13) = DetailRes.Fields("working_capital")arrayProduct(row2, 14) = DetailRes.Fields("interests")arrayProduct(row2, 15) = DetailRes.Fields("pre_tax_income")arrayProduct(row2, 16) = DetailRes.Fields("roic") & "%"DetailRes.MoveNextNext row2xlSheet.Range(xlSheet.Cells(beginRow, 3), xlSheet.Cells(endRow - 1, 19)) = arrayProduct() '数组显示--------------------------------------------------------------------------------------------【3-重点】vb操作EXCEL实现数据组合现在需要把单元格1-4行进行数据组合在EXCEL中,只要选中单元格1-4行,在点击菜单> > 数据> > 组及分级显示> > 组合即可达到要求![注]:若组合时,收缩时数据显示的是最后的那条,在EXCEL文件中,点击数据>> 组及分级显示>> 设置>>(1)把明细数据的下方复选框的选中状态改为不选中(2)把明细数据的右侧复选框的选中状态改为不选中这样设置数据即可达到显示要求vb代码如下:Rows("10:15").SelectSelection.Rows.Group若是需要变量传入,则:Rows(beginRow & ":" & endRow - 1).SelectSelection.Rows.GroupVB操作EXCEL,实现数据读取基于VB和EXCEL的报表设计及打印在现代管理信息系统的开发中,经常涉及到数据信息的分析、加工,最终还需把统计结果形成各种形式的报表提供给领导决策参考,或进行外部交流。
2009-03-25 17:11VB读写文件要用到以下语句:1、Open语句打开文件。
2、读文件使用Line Input、Input #,(以上为文本方式)和Get(以上为二进制方式)。
3、写文件使用Print #、Write(以上为文本方式)和Put(以上为二进制方式)。
4、Close语句关闭文件5、二进制方式下移动文件位置使用Seek语句。
所有这些语句在VB的帮助中都有详细说明和例子。
文本文件的示例:Open "TESTFILE" For Output As #1 ' 打开输出文件。
Print #1, "This is a test" ' 将文本数据写入文件。
要添加数据,就用顺序输入吧!把各个数据连接起来输入到文本里,中间别忘了加分隔符Print #1, ' 将空白行写入文件。
Print #1, "Zone 1"; Tab ; "Zone 2" ' 数据写入两个区(print zones)。
Print #1, "Hello" ; " " ; "World" ' 以空格隔开两个字符串。
Print #1, Spc(5) ; "5 leading spaces " ' 在字符串之前写入五个空格。
Print #1, Tab(10) ; "Hello" ' 将数据写在第十列。
' 赋值 Boolean、Date、Null 及 Error 等。
Dim MyBool, MyDate, MyNull, MyErrorMyBool = False : MyDate = #February 12, 1969# : MyNull = Null MyError = CVErr(32767)' True、False、Null 及 Error 会根据系统的地区设置自动转换格式。
VBA中的数据输入与输出操作技巧VBA(Visual Basic for Applications)是一种用于在Microsoft Office应用程序中编写宏的编程语言。
它有助于自动化重复性任务,提高工作效率。
在VBA中,数据的输入和输出是非常重要的操作。
本文将介绍一些在VBA中进行数据输入和输出的技巧,以帮助您更好地运用VBA编程。
1. 数据的输入在VBA中,可以通过多种方式输入数据,如键盘输入、从文件读取数据或从其他应用程序中获取数据。
以下是一些常用的数据输入技巧:1.1 键盘输入使用VBA的InputBox函数可以弹出一个对话框,让用户输入数据。
可以通过以下示例代码实现:```Dim userInput As StringuserInput = InputBox("请输入您的姓名", "用户输入")```1.2 从文件读取数据可以使用VBA的Open语句和Input函数从文件中读取数据。
下面的代码演示了如何读取一个文本文件的内容:```Dim fileName As String, fileContent As StringfileName = "C:\path\to\file.txt"Open fileName For Input As #1fileContent = Input(LOF(1), #1)Close #1```1.3 从其他应用程序获取数据VBA还支持与其他应用程序的交互,比如Excel、Word或Access等。
可以使用VBA的对象模型来获取这些应用程序中的数据。
以下是一个从Excel获取数据的示例:```Dim excelApp As Object, workbook As Object, sheet As Object Set excelApp = CreateObject("Excel.Application")Set workbook =excelApp.Workbooks.Open("C:\path\to\workbook.xlsx")Set sheet = workbook.Sheets(1)Dim data As Variantdata = sheet.Range("A1:B10").Valueworkbook.Close FalseexcelApp.Quit```2. 数据的输出在VBA中,我们不仅可以输入数据,还可以输出数据到屏幕、文本文件、Excel等。
vb 打印实例-概述说明以及解释1.引言1.1 概述在VB中,打印是一项常见的功能需求,通过打印可以将软件中的数据输出到纸张上,使得用户能够方便地查看和保存信息。
本文将介绍VB 中的打印功能,并通过实例演示和分析来帮助读者更好地理解和应用这一功能。
在VB中,打印功能的实现主要通过使用PrintDocument组件来完成,PrintDocument组件可以方便地控制打印输出的内容和样式。
通过设置PrintDocument的PageSettings属性和PrintPage事件来指定打印页面的设置和内容。
另外,也可以使用PrintPreviewDialog组件来提供打印预览的功能,使得用户可以在打印前预览输出的效果,从而调整需要打印的内容和格式。
本文将通过实例演示和分析来介绍如何在VB中实现打印功能,希望能帮助读者更加深入地了解和掌握这一重要的功能。
文章结构部分主要包括文章的大致组织和内容安排,旨在帮助读者更好地理解整篇文章的逻辑结构。
本文的文章结构如下:1. 引言1.1 概述:介绍VB打印功能的重要性和应用背景1.2 文章结构:介绍本文的大纲和各部分内容安排1.3 目的:阐明撰写本文的意义和目的2. 正文2.1 VB打印功能介绍:详细介绍VB语言中的打印功能的基本原理和特点2.2 VB打印实例演示:通过具体的实例演示,展示VB打印功能的具体应用和使用方法2.3 VB打印实例分析:对演示的实例进行分析和总结,深入探讨其应用场景和优势特点3. 结论3.1 总结:对整篇文章进行总结,强调VB打印功能的重要性和价值3.2 应用推广:探讨VB打印功能在实际应用中的推广和发展前景3.3 展望:展望未来VB打印功能的发展方向和潜力通过以上结构,读者可以清晰地了解本文的逻辑结构和内容安排,有助于他们更好地理解和消化文章所传达的信息。
1.3 目的:本文的目的在于介绍如何在VB(Visual Basic)中使用打印功能,并通过实例演示和分析,帮助读者更好地了解如何在自己的程序中实现打印功能。
数据的赋值及输入输出一、赋值语句[格式]左边=右边[功能]将右边的值赋给左边[说明]1.“=”此时为赋值号,摆布不可交换2.左边是变量名或者控件的属性名3.右边可以是常量、变量或者表达式等 [注意]1.最好让摆布两侧数据类型一致2.当摆布数据类型不一致时,当两类型“相容”时,系统自动将右侧的数据类型转换成左侧数据类型后,赋给左边(右边服从左边)3.当摆布数据类型不一致时,且两类型“不相容”时,可以用系统函数等进行人为转换。
二、输入语句[功能]从键盘获取数据给相应变量。
用InputBox 函数和赋值语句合成完成输入[格式]变量名=InputBox ( 提“示信息”[,……]) [说明] InputBox 有 7 个参数,惟独第一个不能省。
[说明]1.由 InputBox 函数输入的内容默认为字符型,输入时不需要加双引号。
2.当输入的内容是数字字符串时,系统可以自动转换成数值后赋给左侧数值型变量。
3.系统会将非 0 数值当成 True 来用,将 0 当成 False来用。
但是,当 True 参加算术运算时当-1用;False当 0 用。
三、用文本框完成输入/输出由 TextBox 文本框控件与赋值语句合成 (默认 Name 名: Text1、Text2……) [格式]变量名=文本框控件 Name 值.Text[说明]1.由此句输入的内容默认为字符型,输入时不需要加双引号。
2.可将此句最右侧的“ .Text”省略3.此句还可以用来输出程序运行结果使用格式:文本框 Name 值.Text=输出表达式[注意]当用于输出时,若在同一个文本框中多行输出时,首先要将其属性 MultiLine 设为 True ,然后再使用字符串联接符& 连接上vb Cr Lf 系统常量或者Chr(13) & Chr(10)[举例]例 1.输入质量求分量。
【法一:用 InputBox、Print】Option ExplicitPrivate Sub Command1_Click() Const g As Single = 9.8Dim GG!, m!请输入质量GG = m * g分量是牛顿End Sub【法二:用文本框输入、输出】Option ExplicitPrivate Sub Command1_Click()Const g! = 9.8Dim GG!, m!m = Text1.TextGG = m * gText2.Text = GGEnd Sub例 2. 输出一个由*构成的等腰三角形。
读取文本文件内容并打印输出
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
List1.AddItem d(i)
Next i
End Sub
冒泡下沉
Dim d(1 To 4) As Integer
Private Sub Command1_Click() List1.Clear
Randomize
For i = 1 To 4
d(i) = Int(Rnd * 10) + 10
List1.AddItem d(i)
Next i
End Sub
Private Sub Command2_Click() '下沉算法,从小到大排序List2.Clear
For i = 1 To 3
For j = 1 To 4 - i
If d(j) > d(j + 1) Then
k = d(j)
d(j) = d(j + 1)
d(j + 1) = k
End If
Next j
Next i
For i = 1 To 4
List2.AddItem d(i)
Next i
End Sub
选择排序
Dim d(1 To 120) As Integer Dim ct As Integer
'选择排序
Private Sub Command1_Click() ct = 120
For i = 1 To ct - 1
k = i
For j = i + 1 To ct
If d(j) < d(k) Then k = j
Next j
If i <> k Then
kt = d(i): d(i) = d(k): d(k) = kt
End If
Next i
For i = 1 To ct
List2.AddItem Str(d(i))
Next i
ct = 0
List1.AddItem ""
List2.AddItem ""
End Sub
'产生递增数
Private Sub Command2_Click()
Dim dv As Integer
List1.Clear
For i = 1 To 120
dv = dv + Fix((Timer() Mod 67 + 13) * Rnd()) + 1
d(i) = dv
List1.AddItem d(i)
Next i
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
ct = ct + 1
d(ct) = Val(Text1.Text)
List1.AddItem Str(d(ct))
Text1.Text = ""
Text1.SetFocus
End If
End Sub
'对分查找对数列有要求,必须是有序,对分查找一般只能确定数列是否存在该数
'顺序查找不但能确定数列是否存在该数,而且能找出数列存在数的个数,对数列无殊要求,查找效率比对分查找低
Private Sub Command5_Click() '过程5:对分查找,必须掌握当前以由小到大数列进行查找
Dim key, i, j, m, n As Integer
Dim bz As String
bz = "不存在该数"
key = Val(Text1.Text)
n = 0
i = 1
j = 100
Do While i <= j
n = n + 1 '计数器n用来计数总共查找了多少次
m = Fix((i + j) / 2)
If d(m) = key Then
bz = "存在该数,在第" + Str(m) + "位" '***
Exit Do
ElseIf d(m) < key Then
i = m + 1
Else
j = m - 1
End If
Loop
bz = bz + ",共查找" + Str(n) + "次" '想想看为什么变量bz在此处连接str(n),而不在***处Label1.Caption = bz
End Sub
Private Sub Command6_Click() '过程6:顺序查找
Dim key, m As Integer
Dim bz As String
m = 0
bz = "不存在该数"
key = Val(Text1.Text)
For i = 1 To 100
If d(i) = key Then
m = m + 1
End If
Next i
If m > 0 Then
bz = "存在该数,总共有" + Str(m) + "个"
End If
Label1.Caption = bz
End Sub。