永发信息网

如何用VB向EXCEL里写数据?

答案:5  悬赏:80  手机版
解决时间 2021-02-13 08:24
如何用VB向EXCEL里写数据?
最佳答案
VB可将使用Object 数据类型对EXCEL对象进行引用。
Object 数据类型,Object 变量存储为 32 位(4
个字节)的地址形式,其为对象的引用。利用 Set 语句,声明为 Object
的变量可以赋值为任何对象的引用。
注意 虽然以 Object
类型声明的变量足以适应包含对各种对象的引用,但是绑定到变量引用的对象总是在晚期(运行时)绑定。要强迫在早期(编译时间)绑定的话,须将对象的引用赋值给用特定类名称声明的变量。
新建VB的EXE工程,使用如下代码在第一行第一列写入vb操作excel:
Option Explicit
    Dim xlapp As Object
    Dim xlBook As Object
    Dim xlSheet As Object
    Dim A As String


Private Sub Command1_Click()
    Set xlapp = CreateObject("excel.application")
    xlapp.Visible = True
    Set xlBook = xlapp.Workbooks.Add
    Set xlSheet = xlBook.worksheets(1)
    A = "vb操作excel"
    xlSheet.Cells(1, 1) = A
End Sub

全部回答
可以
全面控制 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;
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 保存;)
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,然后打开需要写入数据的excel文件,这样就可以写入数据了。
写好后关闭文件,关闭excel应用。
Dim appexcel As Object '定义Excel应用程序对象
Dim wbmybook As Object '定义工作簿对象
Dim wsmysheet As Object '定义工作表对象
Set appexcel = CreateObject("excel.application") '创建Excel应用程序对象
Set wbmybook = appexcel.workbooks.Add '添加工作簿
Set wsmysheet = appexcel.worksheets.Add '添加工作表
wsmysheet.cells(1, 1) = "123"'向EXCEL里写数据?
appexcel.Visible = True '应用程序Excel可见
Set wbmybook = Nothing
Set wsmysheet = Nothing
Set appexcel = Nothing
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
华为HG8425设置LAN口为三层口(HG端口)什么
我和男朋友都姓陈,我们只是不同一个镇,我们
鄂尔多斯市教育局关心下一代工作委员会在什么
下列关于单倍体、二倍体及染色体组的表述正确
单项电容启动式电动机的转速与什么有关?
汽车车灯卡簧怎么安装,汽车车灯卡簧不好装
马村烧鸡NO.36在什么地方啊,我要过去处理事
什么歌曲里的歌词里是 你怎么这么可爱
承波船舶电器这个地址在什么地方,我要处理点
龙誉家常菜在什么地方啊,我要过去处理事情
请问网上投资3M靠谱吗亲
鸽子下仔要多久
东圐圙补隆地址在什么地方,想过去办事
大脚趾患甲沟炎,没有脓,有点红肿,用百多邦
中国电信(团风大道)地址在哪,我要去那里办事
推荐资讯
希望公司涨工资,意见表怎么写?
【日历怎么做】三年级数学日历怎么做
跪求 诺言 老帕 歌词 意大利语歌词
博奥文具礼品行在哪里啊,我有事要去这个地方
南墩下路这个地址在什么地方,我要处理点事
请问吉林省考和事业单位考试,中公教育和华图
君兰美容美发休闲中心怎么去啊,我要去那办事
成都天府新区落户口需要哪些材料
【413】把十进制数413换成二进制数是什么?
请问苏芙拉的乳糖酶含量高吗,效果怎么样?
电瓶线路连接方法图片,汽车搭火线连接方法
求乳糖操纵子的名词解释
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?