VB 保存数据到中 Excel

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

VB 保存数据到中 Excel




有20个文本框
第一行text1(0).text—text1(9).text 10个文本框
第一行text1(10).text—text1(19).text 10个文本框
把每个值进行保存
要求实现:
1、关闭窗体时(右上角关闭)弹出提示“是否保存数据”,“Yes”则弹出“保存对话框”;“No”则关闭
2、保存格式为“.xls”,即Excel
3、表格中格式为:
A B C D E F G H I J
1 × × × × × × × × × ×
2 × × × × × × × × × ×
4、每次单击保存,不要覆盖以前的数据,新建一个。

Dim ExcelApp As Object

Private Sub Form_Unload(Cancel As Integer)
Dim X As Integer

X = MsgBox("是否保存更改?", vbYesNoCancel + vbExclamation, "VB 保存数据到中 Excel")
If X = 6 Then '单击“是”则保存
Set ExcelApp = CreateObject("Excel.Application")
ExcelApp.Workbooks.Add
With ExcelApp.ActiveSheet
.Range("A1:J1") = Array(Text1(0).Text, Text1(1).Text, Text1(2).Text, Text1(3).Text, Text1(4).Text, Text1(5).Text, Text1(6).Text, Text1(7).Text, Text1(8).Text, Text1(9).Text)
.Range("A2:J2") = Array(Text1(10).Text, Text1(11).Text, Text1(12).Text, Text1(13).Text, Text1(14).Text, Text1(15).Text, Text1(16).Text, Text1(17).Text, Text1(18).Text, Text1(19).Text)
MyFileName = ExcelApp.GetSaveAsFilename(, "Excel Files (*.xls), *.xls")
.SaveAs MyFileName
End With
ExcelApp.Quit
ElseIf X = 7 Then '单击“否”则不保存
Cancel = 0
Else '单击“取消”则不退出程序
Cancel = 1
End If
End Sub












Private Sub Command1_Click()
'写文件示例
Dim strFileName As String '文件名
Dim lngHandle As Long '句柄
Dim strWrite As String '要写入的文本内容

strFileName = App.Path & "\a.txt"
''''''''App.Path & "\a.txt"相对路径
''"c:\w.txt"绝对路径
lngHandle = FreeFile() '取得句柄
'准备要写入的内容
strWrite = Text1.Text '或者 strWrite = "这些文字将被写入文件。"
'For后面的参数表示以何种方式打开文件,Input是读取,Output是覆盖写入,Append是追加写入
''''''append是每次在文件末尾写入,不删除其它已经存在的文件.如果换成output则删除其它文件后再写入
''''''print#1,text1.text ''''''如果print换成write则写进txt中后自动加双引号

Open strFileName For Output As lngHandle '打开文件
Print #lngHandle, strWrite '写入文本
Close lngHandle '关闭文件
End Sub

Private Sub Command2_Click()
'读文件示例
Dim strFileName As String '文件名
Dim lngHandle As Long '文件句柄
Dim strAll As String '所读取的文本文件的所有内容
Dim strLine As String '在循环中存放每行的内容
strFileName = App.Path & "\a.txt"
'获得文件的句柄
lngHandle = FreeFile()
'For后面的参数表示以何种方式打开文件,Input是读取,Output是覆盖写入,Append是追加写入
Open strFileName For Input As lngHandle
'循环直到文件尾
Do Whi

le Not EOF(lngHandle)
'每次读取一行存放在strLine变量中
Line Input #lngHandle, strLine
'每次读取都把所读到的内容连接到strAll变量,由于Line Input去掉了换行符,所以这里补上
strAll = strAll & strLine & vbCrLf
Loop
'显示得到的全部分内容
MsgBox strAll
End Sub

__________________________________________________________


Private Sub Command1_Click()
Open App.Path & "\a.txt" For Output As #1
Print #1, Text1.Text '这里可以是数据本身也可以是目标控件的属性
Close #1 '关闭打开的文件
End Sub

'For后面的参数表示以何种方式打开文件,Input是读取,Output是覆盖写入,Append是追加写入

''''''append是每次在文件末尾写入,不删除其它已经存在的文件.如果换成output则删除其它文件后再写入
print#1,text1.text ''''''如果print换成write则写进txt中后自动加双引号





相关文档
最新文档