问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎样使用Excel编程

发布网友 发布时间:2022-04-22 01:11

我来回答

3个回答

热心网友 时间:2023-01-20 18:33

我用VB连过。
下面是我当时写的一个函数,从SQLServer2000中导出查询结果的。调用就可以了。记得在工程--》引用 中添加Excel的引用 Microsoft Excel 11.0 Object Library
(可能是不同的版本)
另外把连接字符串改一下。
如果你要用到其他方面,可以加我285512334
Public Function ExporToExcel(strOpen As String, str_name As String)
'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
'& 功能:导出数据到EXCEL
'& 用法:ExporToExcel(sql查询字符串,导出表的名称)
'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Dim adoRs As New ADODB.Recordset
Dim Irowcount As Integer
Dim Icolcount As Integer

Dim xlapp As New Excel.Application
Dim xlbook As Excel.Workbook
Dim xlsheet As Excel.Worksheet
Dim xlQuery As Excel.QueryTable

Dim strcn_out As String

strcn_out = "Provider=SQLOLEDB.1;PeRs_tongjiist Security Info=False;User ID=sa;pwd=sa;Initial Catalog=st_info;Data Source=(local)"
With adoRs
If .State = 1 Then
.Close
End If
.ActiveConnection = strcn_out
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockReadOnly
.Source = strOpen
.Open
End With
With adoRs
If .RecordCount < 1 Then
MsgboxName = MsgBox("没有记录!", vbOKOnly, "信息提示")
Exit Function
End If
Irowcount = .RecordCount '记录总数
Icolcount = .Fields.Count '字段总数
End With

Set xlapp = CreateObject("Excel.Application")
Set xlbook = Nothing
Set xlsheet = Nothing
xlapp.Caption = str_name

Set xlbook = xlapp.Workbooks().Add
Set xlsheet = xlbook.Worksheets("sheet1")
xlapp.Visible = True
Set xlQuery = xlsheet.QueryTables.Add(adoRs, xlsheet.Range("a1")) '添加查询语句,导入EXCEL数据
With xlQuery
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
End With

xlQuery.FieldNames = True '显示字段名
xlQuery.Refresh

With xlsheet
With .Range(.Cells(1, 1), .Cells(1, Icolcount))

.Font.Name = "宋体" '设标题为黑体字
.Font.Bold = True '标题字体加粗
'.Interior.Color = &HC0FFC0 '设定第一行颜色
.ColumnWidth = 18
End With

With .Range(.Cells(1, 2), .Cells(1, 2)) '设定列宽度
.ColumnWidth = 10
End With
With .Range(.Cells(1, 3), .Cells(1, 3))
.ColumnWidth = 20
End With
With .Range(.Cells(1, 5), .Cells(1, 5))
.ColumnWidth = 10
End With
With .Range(.Cells(1, 6), .Cells(1, 6))
.ColumnWidth = 6
End With

With .Range(.Cells(2, 1), .Cells(Irowcount + 1, 1))
.Font.Name = "楷体"
'.Interior.Color = &H80FFFF '第一列颜色
End With
End With
On Error GoTo yes
'第一种方法:调用保存函数xlApp.SaveWorkspace
'第二种方法,后台saveas,指定目录
Position = App.Path & "\统计数据存档\" & str_name & ".xls"
xlbook.SaveAs Position
'第三种方法,用户关闭时,自己保存
xlapp.Application.Visible = True
yes:
Set xlapp = Nothing '交还控制给Excel
Set xlbook = Nothing
Set xlsheet = Nothing
End Function

热心网友 时间:2023-01-20 19:51

1 在工作本菜单上的工具栏上右键选中“Visual Basic”,把安全改为“中”或“低”,如果这里不首先修改,可能无法运行任何VBA程序。

2 Excel编程使用的是VBA编程,VBA是VB子集合,所以语法上和VB是一样的,关键字也一样,只是设计到Excel的那部分对象的时候,要先明白Excel的对象结构。

3 Excel的对象并不复杂:简单的说就是如下:

每个Excel(我指的是从windows的快捷方式打开后)便已经有一个application对象。application.workbooks就是对应同一个excel的application对象所打开的不同的工作本集合,application.workbooks.workbook就是工作本集合里的一个实例,而application.workbooks.workbook.worksheets就是同一个工作本以内的工作表集合,同样道理,application.workbooks.workbook.worksheets.worksheet就是指具体到某一个工作表。

对象的层次结构大概如下:excel程序(application)->工作本集合(workbooks)->工作本(workbook)->工作表集合(worksheets)->工作表(worksheet)

在worksheet对象里面,包含了range(),cells()等方法访问具体的单元格或者单元范围,一切的编程从两个range(),cells()开始的。

由于*这里的表达方式问题,其实有两个很简单的方法可以学习excel的一切。

a. 使用录入宏,然后打开宏的代码。(这些动作在Visual Basic附加工具条上可以找到)

b. 完全安装excel之后,在帮助菜单上有很完整的介绍,包括编程的,对象模型的,这些都要了解后才可能编程。

Excel早已超越了一般的表格软件了,建议从帮助开始看,慢慢了解,如果你愿意的话。我平时都用这个来工作,从dbf文件,access,sql server里面导入导出数据进行报表输出的。在excel里编程,却是有在传统的VB Form里面编程所不能体验的乐趣。

热心网友 时间:2023-01-20 21:25

付费内容限时免费查看回答你好亲亲 .打开excel文档,在开发工具中找到vba。要使用vba必须要通过vba工具栏进行操作,因此需要将vba工具栏调出。如果找不到vba的位置,在excel的选项中进行设置勾选。勾选之后点击确定返回主界面可以看到工具栏出现“开发工具”字样,说明vba工具栏已经调取成功。2.点击“插入”中的“模块”。3.然后输入 Sub 输入() Range("A1") = 360-----这个是今天展示的数字。 End Sub 可以执行的VBA代码(宏程序),结构是这样的: Sub 程序名(参数) 可以执行任务的代码 End Sub 点击“运行”图标。4.通过简单的编程操作,我们得到了最终的数据。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
分手后说过的话精选185句 分手说的精选113句 分手怎么挽回女朋友的句子精选162句 现在工作忙的要死,女朋友因为这跟我分手,我该怎么办? ...任意组成两个不同的两位小数,并把它们改写成以0.001为计数单位... m3/MW▪h怎么换算m3/s▪GW? 交通银行的刷卡金怎么使用呢? 什么时候刷卡金 ...突然前面两条腿好像断了一样 走路前面两腿都无法支撑 吃饭就坐着吃... 王者荣耀:伤害与回复兼备的杨戬,为何不受待见,真废了吗? 北京大兴区的户口与城八区的户口有什么区别? 用Excel编程怎么编? 求仙剑四中八公山和即墨的音乐名字,是在野外行走... Excel可以编程? 仙剑奇侠转四中的八公山迷路了怎么办? 育秀八区怎么样?好不好?值不值得买? 仙四中,从八公山回到寿阳柳府后,天河和梦璃在凉... 给悬赏!!求北京市重点中学名单!!谢谢了!(崇... 上海市 徐汇区第四中学和 黄浦区第八中学哪个好? 关于淮南十三中高中 淮南哪几所小学好 淮南市有哪些高中 淮南所有的高中都有哪些 淮南市高中一览表? bfc是什么意思? 正品的泰国乳胶凉席价格是多少? 乳胶床垫需要铺什么样的凉席? 乳胶床垫用什么凉席 美伊嫚高档乳胶凉席在夏天用凉快吗? 泰国para的乳胶凉席真的比竹席草席好用吗? 诸葛亮在三国时候有没有在八公山发起战争 四顶山爬山记作文大全 如何编写EXCEL函数? 求高中诗歌鉴赏 练习题 ,要六道,带标准答案,题... 关于EXCEL表格编程 北京大兴区的户口和城八区户口有什么区别?? 如何在EXCEL中进行VBA编程 怎么样才能学好Excel中的编程呢?请高手教我. MP8播放器的Mp8简介 怎样用Excel编制软件 在 Excel 上怎么编程序? 不小心在电脑里安装了一个MP8的播放软件,后来电脑... excel如何编程 比较好用的视频格式转换软件,支持mp8(一些教学视... excel宏编程教程有哪些? 下载了一个电脑版的MP8,但提示下了个播放器提示文... EXCEL表格中怎样运用宏来进行编程? 从网站下载的视频教程格式是.MP8格式,只能用专用... 有什么软件是可以播放MP8文件,暴风影音行不行 17cjkj_lzjc_001_qy_dsp.mp8这种视频要用什么软件...