VBS编程:怎样用VBS给EXCEL画折线图(A列X坐标,B列Y坐标), 谢谢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VBS编程:怎样用VBS给EXCEL画折线图(A列X坐标,B列Y坐标), 谢谢相关的知识,希望对你有一定的参考价值。

现有一文件:123.xls
数据格式是
A B
1 120 350
2 110 280
3 60 556
4 300 335
5 180 227
.......
120 256 118

请教:如何将本表数据画成折线图(以A列值为X坐标,B列值为Y坐标的折线图), 我学着写了以下VBS程序,请各位补充和改正

谢谢!!!!!

EXCEL_f="C:\123.xls"
Set ExcelApp = CreateObject("Excel.Application") '创建EXCEL对象
Set ExcelBook = ExcelApp.Workbooks.Add
Set ExcelSheet1 = ExcelBook.Worksheets(1) '添加工作页1
ExcelSheet1.Activate
ExcelApp.DisplayAlerts= false
'怎样画以A列值为X坐标,B列值为Y坐标的折线图 谢谢各位!

'我本VBS菜鸟,还有什么要改的请一并指出,再次谢谢
ExcelBook.SaveAs EXCEL_f '保存工作表
ExcelApp.displayalerts=true
ExcelBook.close
ExcelApp.quit
ExcelApp=null
set ExcelApp=nothing
set ExcelBook=nothing
set ExcelSheet1=nothing

ect("Excel.Application")
objExcel.Visible = true
Set objWorkbooks = objExcel.Workbooks.Open ("D:\123.xls",3,false)
x=objExcel.Cells(1,1).value
msgbox x

cells(x,y)代表x行y列的数据。

============================教程===============================
Set oExcel= CreateObject("Excel.Application")
(一) 使用动态创建的方法
首先创建 Excel 对象,使用ComObj:
oExcel = CreateObject( "Excel.Application" )
1) 显示当前窗口:
oExcel.Visible = True
2) 更改 Excel 标题栏:
oExcel.Caption = "应用程序调用 Microsoft Excel"
3) 添加新工作簿:
oExcel.WorkBooks.Add
4) 打开已存在的工作簿:
oExcel.WorkBooks.Open( "C:\Excel\Demo.xls" )
5) 设置第2个工作表为活动工作表:
oExcel.WorkSheets(2).Activate

oExcel.WorksSheets( "Sheet2" ).Activate
6) 给单元格赋值:
oExcel.Cells(1,4).Value = "第一行第四列"
7) 设置指定列的宽度(单位:字符个数),以第一列为例:
oExcel.ActiveSheet.Columns(1).ColumnsWidth = 5
8) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:
oExcel.ActiveSheet.Rows(2).RowHeight = 1/0.035 ' 1厘米
9) 在第8行之前插入分页符:
oExcel.WorkSheets(1).Rows(8).PageBreak = 1
10) 在第8列之前删除分页符:
oExcel.ActiveSheet.Columns(4).PageBreak = 0
11) 指定边框线宽度:
oExcel.ActiveSheet.Range( "B3:D4" ).Borders(2).Weight = 3
1-左 2-右 3-顶 4-底 5-斜( \ ) 6-斜( / )
12) 清除第一行第四列单元格公式:
oExcel.ActiveSheet.Cells(1,4).ClearContents
13) 设置第一行字体属性:
oExcel.ActiveSheet.Rows(1).Font.Name = "隶书"
oExcel.ActiveSheet.Rows(1).Font.Color = clBlue
oExcel.ActiveSheet.Rows(1).Font.Bold = True
oExcel.ActiveSheet.Rows(1).Font.UnderLine = True
14) 进行页面设置:
a.页眉:
oExcel.ActiveSheet.PageSetup.CenterHeader = "报表演示"
b.页脚:
oExcel.ActiveSheet.PageSetup.CenterFooter = "第&P页"
c.页眉到顶端边距2cm:
oExcel.ActiveSheet.PageSetup.HeaderMargin = 2/0.035
d.页脚到底端边距3cm:
oExcel.ActiveSheet.PageSetup.HeaderMargin = 3/0.035
e.顶边距2cm:
oExcel.ActiveSheet.PageSetup.TopMargin = 2/0.035
f.底边距2cm:
oExcel.ActiveSheet.PageSetup.BottomMargin = 2/0.035
g.左边距2cm:
oExcel.ActiveSheet.PageSetup.LeftMargin = 2/0.035
h.右边距2cm:
oExcel.ActiveSheet.PageSetup.RightMargin = 2/0.035
i.页面水平居中:
oExcel.ActiveSheet.PageSetup.CenterHorizontally = 2/0.035
j.页面垂直居中:
oExcel.ActiveSheet.PageSetup.CenterVertically = 2/0.035
k.打印单元格网线:
oExcel.ActiveSheet.PageSetup.PrintGridLines = True
15) 拷贝操作:
a.拷贝整个工作表:
oExcel.ActiveSheet.Used.Range.Copy
b.拷贝指定区域:
oExcel.ActiveSheet.Range( "A1:E2" ).Copy
c.从A1位置开始粘贴:
oExcel.ActiveSheet.Range.( "A1" ).PasteSpecial
d.从文件尾部开始粘贴:
oExcel.ActiveSheet.Range.PasteSpecial
16) 插入一行或一列:
a. oExcel.ActiveSheet.Rows(2).Insert
b. oExcel.ActiveSheet.Columns(1).Insert
17) 删除一行或一列:
a. oExcel.ActiveSheet.Rows(2).Delete
b. oExcel.ActiveSheet.Columns(1).Delete
18) 打印预览工作表:
oExcel.ActiveSheet.PrintPreview
19) 打印输出工作表:
oExcel.ActiveSheet.PrintOut
20) 工作表保存:
if not oExcel.ActiveWorkBook.Saved then
oExcel.ActiveSheet.PrintPreview
21) 工作表另存为:
oExcel.SaveAs( "C:\Excel\Demo1.xls" )
22) 放弃存盘:
oExcel.ActiveWorkBook.Saved = True
23) 关闭工作簿:
oExcel.WorkBooks.Close
24) 退出 Excel:
oExcel.Quit
(二) 使用VBS 控制Excle二维图
1)选择当第一个工作薄第一个工作表
set oSheet=oExcel.Workbooks(1).Worksheets(1)
2)增加一个二维图
achart=oSheet.chartobjects.add(100,100,200,200)
3)选择二维图的形态
achart.chart.charttype=4
4)给二维图赋值
set series=achart.chart.seriescollection
range="sheet1!r2c3:r3c9"
series.add range,true
5)加上二维图的标题
achart.Chart.HasTitle=True
achart.Chart.ChartTitle.Characters.Text=" Excle二维图"
6)改变二维图的标题字体大小
achart.Chart.ChartTitle.Font.size=18
7)给二维图加下标说明
achart.Chart.Axes(xlCategory, xlPrimary).HasTitle = True
achart.Chart.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "下标说明"
8)给二维图加左标说明
achart.Chart.Axes(xlValue, xlPrimary).HasTitle = True
achart.Chart.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "左标说明"
9)给二维图加右标说明
achart.Chart.Axes(xlValue, xlSecondary).HasTitle = True
achart.Chart.Axes(xlValue, xlSecondary).AxisTitle.Characters.Text = "右标说明"
10)改变二维图的显示区大小
achart.Chart.PlotArea.Left = 5
achart.Chart.PlotArea.Width = 223
achart.Chart.PlotArea.Height = 108
=============================================================

On Error Resume Next
dim temp1,temp2
dim websz(100)
set objExcel = CreateObject("Excel.Application")
objExcel.Visible = true
Set objWorkbooks = objExcel.Workbooks.Open ("D:\123.xls",3,false)
for i = 1 to 5000
'这里修改excel中数据的结束行号码
websz(i)= "" & objExcel.Cells(i,1).value
next
for j=1 to 5000
temp2=j& ".html"
Set xPost = CreateObject("Microsoft.XMLHTTP")
xPost.Open "GET",websz(j),0
xPost.Send()
Set sGet = CreateObject("ADODB.Stream")
sGet.Mode = 3
sGet.Type = 1
sGet.Open()
sGet.Write(xPost.responseBody)
sGet.SaveToFile temp2,2
Wscript.sleep 1000
next追问

首先还是要谢谢你!!!!!!虽然答非所问,

参考技术A cheap Nike jordan sneaker 13
Michael ,buy cheap jordansJordan shoes has continuously launched a variety of grand shoes unprecedented, which were long awaited by fans. I believe everyone has cast a covetous eye at Air Jordan Spizike shoes, which once again presented a beautiful,air jordans MELO M5, gorgeous visual feast to the world.
Air Jordan 13 (XIII) is a great type of Nike Jordan sneakers. Glance at the shoes from the animal’ leopard, therefore the outsole and also vamp of the sneaker is in the form of leopard stripe, which makes sneaker a lot more flexible, respectable along with long lasting. Apart from,air jordans, the use of carbon fiber stuff along with increased Zoom Air technology supplies far more stableness and solidity as well as flexibility. The leather vamp blended with nylon substance creates the complete shoes lighter as well as more ingenious. Since time passes by, Air Jordan 13 (XIII) are always quite popular in the marketplace.
May be you also interesting in:

air jordans shoes Nike SFB (S

air jordans true flight Air Jordan 19 Men Shoes

buy cheap jordans Air Jordan 16 Men Shoes

cheap jordans free shipping Nike SB Omar Salazar Socks
参考技术B 你最好找个VBA的高手来做。对他们来说不是很难。本回答被提问者采纳

VBS,怎样根据内容来查找excel中对应的位置?

例如:表格中有值为123,我要找到表格中所有值为123的位置?
不是在excel中查找,我是问用vbs怎样来实现

在excel中有多种多样的公式可以实现,列举常用几个如下:

lookup, 举例:=LOOKUP(E2,$A$2:$B$5), 注意lookup如果在源数据中未查找到对应项,会返回比对应项小的项对应的数值。

vlookup, 举例:=VLOOKUP(E2,$A$2:$B$5,2,),注意公式最后一个逗号不可省略,省略后结果与lookup相同,为模糊查找。

index, 举例:=INDEX($B$2:$B$5,MATCH(E2,$A$2:$A$5,0)), 注意match的第三参数,为0则表示精确查找,1或-1表示模糊查询。

offset, 所有用index可以完成的事情都可以用offset来达到同样的效果,举例:=OFFSET($A$2:$B$5,MATCH(E2,$A$2:$A$5,0)-1,1,1,1)

indirect,举例:=INDIRECT("B"&MATCH(E2,$A$1:$A$5,0)),3/4/5三个公式中都用到了match来定位查找数据在源数据中的位置。

参考技术A set oExcel = CreateObject( "Excel.Application" )
oExcel.Visible = false
'4) 打开已存在的工作簿:
oExcel.WorkBooks.Open( "C:\Documents and Settings\Administrator\桌面\Book1.xls" )
'5) 设置第1个工作表为活动工作表:
oExcel.WorkSheets(1).Activate
i = 1
do while oExcel.Cells(i,1).Value <> "" '查找A列中所有的单元格
if oExcel.Cells(i,1).Value = 1 then 'i是行,1是列
oExcel.Cells(i,1).font.color = vbred '设置字体底色为红色
msgbox "行"&i &"列1"
end if
i = i+1
loop
oExcel.ActiveWorkBook.Save
oExcel.WorkBooks.Close
oExcel.Quit
set oExcel = nothing
msgbox "操作完成"
你试一下看看本回答被提问者采纳
参考技术B ctrl+F 输入123,点击查找

以上是关于VBS编程:怎样用VBS给EXCEL画折线图(A列X坐标,B列Y坐标), 谢谢的主要内容,如果未能解决你的问题,请参考以下文章

java poi 生成excel 折线图能以列为参数吗

VBS将本地的Excel数据导入到SQL Server中

关于使用vbs操作excel的问题

VBS将本地的Excel数据导入到SQL Server中

Python操作Excel,openpyxl模块,画折线图

如何使用VBS脚本程序读EXCEL文件,有没有具体流程?