关于VB6的几个问题

2024-12-28 14:29:13
推荐回答(4个)
回答1:

1.建Access

Private Sub Command1_Click()
CreateDatabase "c:\1.mdb"
End Sub

Public Sub CreateDatabase(ByVal sDatabaseFile As String)
Dim cat
Set cat = CreateObject("ADOX.Catalog")
cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;data source=" & sDatabaseFile
Set cat = Nothing
End Sub

2.创建xls,首先,引用Microsoft Scripting Runtime。

Private Sub Command1_Click()

Dim w As Integer
'新建一个XLS文件
Set fileob = New FileSystemObject
'*********************
' 设置“CancelError”为 True
CommonDialog1.CancelError = True
On Error GoTo ErrHandler
' 设置标志
CommonDialog1.Flags = cdlOFNHideReadOnly
' 设置过滤器
CommonDialog1.Filter = "电子表格文件(*.xls)|*.xls"
' 指定缺省的过滤器
CommonDialog1.FilterIndex = 2
' 显示“打开”对话框
CommonDialog1.ShowSave
' 显示选定文件的名字
If fileob.FileExists(CommonDialog1.FileName) = True Then
If vbNo = MsgBox("此文件已经存在,要覆盖吗?", vbYesNo, "接待系统") Then
Exit Sub
Else
fileob.DeleteFile (CommonDialog1.FileName)
End If
End If
'申明EXCEL对象
Set xlsapp = New Excel.Application
xlsapp.Workbooks.Add
Set xlswb = xlsapp.Workbooks(1)
Set xlsws = xlswb.Worksheets(1)
'填充数据
xlsws.Range("A1") = Text2.Text
xlsws.Range("A2") = MSHFlexGrid1.TextMatrix(0, 1) ' rsmeetpeople.Fields(1).name
xlsws.Range("B2") = MSHFlexGrid1.TextMatrix(0, 2) ' rsmeetpeople.Fields(2).name
xlsws.Range("C2") = MSHFlexGrid1.TextMatrix(0, 3) 'rsmeetpeople.Fields(3).name
xlsws.Range("D2") = MSHFlexGrid1.TextMatrix(0, 4) 'rsmeetpeople.Fields(4).name
xlsws.Range("E2") = MSHFlexGrid1.TextMatrix(0, 5) 'rsmeetpeople.Fields(5).name
For w = 1 To MSHFlexGrid1.Rows - 1
xlsws.Range("A" & Trim(w + 2)) = MSHFlexGrid1.TextMatrix(w, 1) 'rsmeetpeople.Fields(1).Value
xlsws.Range("B" & Trim(w + 2)) = MSHFlexGrid1.TextMatrix(w, 2) ' rsmeetpeople.Fields(2).Value
xlsws.Range("C" & Trim(w + 2)) = MSHFlexGrid1.TextMatrix(w, 3) 'rsmeetpeople.Fields(3).Value
xlsws.Range("D" & Trim(w + 2)) = MSHFlexGrid1.TextMatrix(w, 4) 'rsmeetpeople.Fields(4).Value
xlsws.Range("E" & Trim(w + 2)) = MSHFlexGrid1.TextMatrix(w, 5) 'rsmeetpeople.Fields(5).Value
Next w
'格式化EXCEL 表格
xlsws.Range("A1").ColumnWidth = 30
xlsws.Range("B1").ColumnWidth = 8
xlsws.Range("C1").ColumnWidth = 4
xlsws.Range("D1").ColumnWidth = 15
xlsws.Range("E1").ColumnWidth = 6
xlsws.Range("A1:E1").Merge
xlsws.Range("A1:E1").HorizontalAlignment = xlHAlignCenter
xlsws.Range("A1:E1").Font.Size = 16
'xlsws.Range("A2:E2").HorizontalAlignment = xlHAlignCenter
xlsws.Range("A1:E" & CStr(MSHFlexGrid1.Rows + 1)).HorizontalAlignment = xlHAlignCenter

xlswb.SaveAs CommonDialog1.FileName
xlswb.Close
xlsapp.Quit
MsgBox "数据已成功导入EXCEL表格", vbOKOnly, "提示"
Exit Sub
ErrHandler:
' 用户按了“取消”按钮
'*********************

End Sub

3.最简单。VB自带这个功能。

如果要保存PictureBox(名字是Picture1)中的图,这样写:

Private Sub Command1_Click()
SavePicture Picture1.Picture, "c:\ddd.bmp"

End Sub

别的地方的图只要能访问到Picture属性就可以,把Picture1.Picture换掉。

回答2:

创建数据窗体的方法(即对第一个问题的答复):
01 创建一个标准EXE窗体

02 菜单栏:外接程序-->可视化数据管理器

03 菜单栏:文件-->新建-->Microsoft Access-->Version 7.0 MDB(如果选择Version 2.0 MDB,可能出现用Access编辑时出现不兼容的情况)

04 选择数据库存放的位置

05 在“数据库窗口”的空白处按右键,选择“新建表”

06 为表起名字

07 按“添加字段”用于添加字段
(1) 为字段起名字
(2) 为字段设置类型(如果我要让对方在此字段输入日期那么就选择"Date/Time")
(3) 为字段设置可以在每个数据上输入几个字符

08 按“生成表”

09 选中刚刚生成的表按右键,选择“编辑”来编辑表(此步可忽略)

10 菜单栏:实用程序-->数据窗体设计器
(1) “窗体名称”填写你即将创建的数据窗体的名称
(2) “记录源”里选择你刚刚创建的表
(3) 将“可用的字段”全部加至“包括的字段”
(4) 按“生成窗体”

11 大功告成!!!

回答3:

1、生成数据库的
Dim wspDefault
Dim dbs
Set wspDefault = DBEngine.Workspaces(0)
Set dbs = wspDefault.CreateDatabase("Newdb.mdb", _
dbLangGeneral & ";pwd=123", dbEncrypt)

其中要引用相关的组件(都是vb6 提供的)

回答4:

1。用OLEDB控件
2。用Excel ActiveX控件
3.用二进制写入一个文件记下文件大小位置