重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

vb.net常用命令 vb命令大全

VB.NET命令窗口

Vb不是人机对话窗口,而是编程工具,可以编写代码进行调试执行或者生成可执行文件。

金昌ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!

用Visual Studio .Net开发"Hello World!"程序:

我们知道"Hello World"一般是命令行程序,而这种程序在Visual Studio .Net中被称为"控制台程序"。下面是Visual Studio .Net编写控制台"Hello World!"程序的具体步骤:

(1)、启动Visual Studio .Net。

(2)、选择菜单【文件】|【新建】|【项目】后,弹出【新建项目】对话框。

(3)、将【项目类型】设置为【Visual Basic项目】。

(4)、将【模板】设置为【控制台应用程序】。

(5)、在【名称】文本框中输入【Hello World】。

(6)、在【位置】的文本框中输入【E:VS.NET项目】,然后单击【确定】按钮,则Visual Studio .Net会按照上面设定的参数创建一个控制台应用程序项目,具体如图01所示。

图01:"Hello World"控制台程序的【新建项目】界面

(7)、在【解决方案资源管理器】窗口中,双击Module1.vb文件,进入Module1.vb文件的编辑界面。

(8)、Visual Studio .Net已经为产生Main()函数。在系统创建的Main()函数中加入下面一行代码就可以了:

Console.WriteLine ("Hello World!")

(9)、选择【文件】|【保存Module1.vb】菜单或者按快捷键Ctrl+S,保存所做的修改。

(10)、此时单击快捷键Ctrl+F5运行程序就可以得到图02所示运行界面:

vb.net 表格 如何做出这样的表格 可以随时修改的

VB是常用的应用软件开发工具之一,由于VB的报表功能有限,而且一但报表格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便。因此有很多程序员现在已经充分利用EXECL的强大报表功来实现报表功能。但由于VB与EXCEL由于分别属于不同的应用系统,如何把它们有机地结合在一起,是一个值得我们研究的课题。

一、 VB读写EXCEL表:

VB本身提自动化功能可以读写EXCEL表,其方法如下:

1、在工程中引用Microsoft Excel类型库:

从"工程"菜单中选择"引用"栏;选择Microsoft Excel 9.0 Object Library(EXCEL2000),然后选择"确定"。表示在工程中要引用EXCEL类型库。

2、在通用对象的声明过程中定义EXCEL对象:

Dim xlApp As Excel.Application

Dim xlBook As Excel.WorkBook

Dim xlSheet As Excel.Worksheet

3、在程序中操作EXCEL表常用命令:

Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象

Set xlBook = xlApp.Workbooks.Open("文件名") '打开已经存在的EXCEL工件簿文件

xlApp.Visible = True '设置EXCEL对象可见(或不可见)

Set xlSheet = xlBook.Worksheets("表名") '设置活动工作表

xlSheet.Cells(row, col) =值 '给单元格(row,col)赋值

xlSheet.PrintOut '打印工作表

xlBook.Close (True) '关闭工作簿

xlApp.Quit '结束EXCEL对象

Set xlApp = Nothing '释放xlApp对象

xlBook.RunAutoMacros (xlAutoOpen) '运行EXCEL启动宏

xlBook.RunAutoMacros (xlAutoClose) '运行EXCEL关闭宏

4、在运用以上VB命令操作EXCEL表时,除非设置EXCEL对象不可见,否则VB程序可继续执行其它操作,也能够关闭EXCEL,同时也可对EXCEL进行操作。但在EXCEL操作过程中关闭EXCEL对象时,VB程序无法知道,如果此时使用EXCEL对象,则VB程序会产生自动化错误。形成VB程序无法完全控制EXCEL的状况,使得VB与EXCEL脱节。

二、 EXCEL的宏功能:

EXCEL提供一个Visual Basic编辑器,打开Visual Basic编辑器,其中有一工程属性窗口,点击右键菜单的"插入模块",则增加一个"模块1",在此模块中可以运用Visual Basic语言编写函数和过程并称之为宏。其中,EXCEL有两个自动宏:一个是启动宏(Sub Auto_Open()),另一个是关闭宏(Sub Auto_Close())。它们的特性是:当用EXCEL打含有启动宏的工簿时,就会自动运行启动宏,同理,当关闭含有关闭宏的工作簿时就会自动运行关闭宏。但是通过VB的自动化功能来调用EXCEL工作表时,启动宏和关闭宏不会自动运行,而需要在VB中通过命令xlBook.RunAutoMacros (xlAutoOpen)和xlBook.RunAutoMacros (xlAutoClose) 来运行启动宏和关闭宏。

三、 VB与EXCEL的相互勾通:

充分利用EXCEL的启动宏和关闭宏,可以实现VB与EXCEL的相互勾通,其方法如下:

在EXCEL的启动宏中加入一段程序,其功能是在磁盘中写入一个标志文件,同时在关闭宏中加入一段删除此标志文件的程序。VB程序在执行时通过判断此标志文件存在与否来判断EXCEL是否打开,如果此标志文件存在,表明EXCEL对象正在运行,应该禁止其它程序的运行。如果此标志文件不存在,表明EXCEL对象已被用户关闭,此时如果要使用EXCEL对象运行,必须重新创建EXCEL对象。

四、举例:

1、在VB中,建立一个FORM,在其上放置两个命令按钮,将Command1的Caption属性改为EXCEL,Command2的Caption属性改为End。然后在其中输入如下程序:

Dim xlApp As Excel.Application '定义EXCEL类

Dim xlBook As Excel.Workbook '定义工件簿类

Dim xlsheet As Excel.Worksheet '定义工作表类

Private Sub Command1_Click() '打开EXCEL过程

If Dir("D:\temp\excel.bz") = "" Then '判断EXCEL是否打开

Set xlApp = CreateObject("Excel.Application") '创建EXCEL应用类

xlApp.Visible = True '设置EXCEL可见

Set xlBook = xlApp.Workbooks.Open("D:\temp\bb.xls") '打开EXCEL工作簿

Set xlsheet = xlBook.Worksheets(1) '打开EXCEL工作表

xlsheet.Activate '激活工作表

xlsheet.Cells(1, 1) = "abc" '给单元格1行驶列赋值

xlBook.RunAutoMacros (xlAutoOpen) 运行EXCEL中的启动宏

Else

MsgBox ("EXCEL已打开")

End If

End Sub

Private Sub Command2_Click()

If Dir("D:\temp\excel.bz") "" Then '由VB关闭EXCEL

xlBook.RunAutoMacros (xlAutoClose) '执行EXCEL关闭宏

xlBook.Close (True) '关闭EXCEL工作簿

xlApp.Quit '关闭EXCEL

End If

Set xlApp = Nothing '释放EXCEL对象

End

End Sub

2、在D盘根目录上建立一个名为Temp的子目录,在Temp目录下建立一个名为"bb.xls"的EXCEL文件。

3、在"bb.xls"中打开Visual Basic编辑器,在工程窗口中点鼠标键选择插入模块,在模块中输入入下程序存盘:

Sub auto_open()

Open "d:\temp\excel.bz" For Output As #1 '写标志文件

Close #1

End Sub

Sub auto_close()

Kill "d:\temp\excel.bz" '删除标志文件

End Sub

4、运行VB程序,点击EXCEL按钮可以打开EXCEL系统,打开EXCEL系统后,VB程序和EXCEL分别属两个不同的应用系统,均可同时进行操作,由于系统加了判断,因此在VB程序中重复点击EXCEL按钮时会提示EXCEL已打开。如果在EXCEL中关闭EXCEL后再点EXCEL按钮,则会重新打开EXCEL。而无论EXCEL打开与否,通过VB程序均可关闭EXCEL。这样就实现了VB与EXCEL的无缝连接。

vb中的程序难题,拜求高手帮忙解决!

1.如何实现VB与EXCEL的无缝连接

VB 是常用的应用软件开发工具之一,由于VB的报表功能有限,而且一旦报表格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便。因为有很多程序员现在已经充分利用Excel的强大报表功能来实现。但由于VB与Excel分别属于不同的应用系统,如何把它们有机地结合在一起,是一个值得我们研究的课题。

笔者在软件开发工作中,对VB的自动化功能和Excel的宏功能进行了一定的研究,实现了VB与Excel的有机结合。现提出来与大家探讨。

一、VB读写Excel表

VB本身的自动化功能可以读写Excel表,其方法如下:

1、在工程中引用Microsoft Excel类型库:

从“工程”菜单中选择“引用”栏;选择Microsoft Excel 9.0 Object Library (Excel2000),然后选择“确定”。表示在工程中要引用Excel类型库。

2、在通用对象的声明过程中定义Excel对象:

Dim xlApp As Excel.Application

Dim XlBook As Excel.WorkBook

Dim xlSheet As Excel.Worksheet

3、在程序中操作Excel表常用命令:

Set xlApp = CreateObject (“Excel.Application”)’创建Excel对象

Set XlBook = xlApp.Workbooks.Open(“文件名”) ’打开已经存在的Excel工作薄文件

xlApp.Visible = True ’设置Excel对象可见(或不可见)

Set xlSheet = xlBook.Worksheets(“表名”)

xlSheet.Cells(row,col) = 值 ’给单元格(row,col)赋值

xlSheet.PrintOut ’打印工作表

xlBook.CloseTrue ’关闭工作薄

xlApp.Quit ’结束Excel对象

Set xlApp = Nothing ’释放xlApp对象

xlBook.RunAutoMacros xlAutoOpen ’运行Excel启动宏

xlBook.RunAutoMacros xlAutoClose ’运行Excel关闭宏

4、在运用以上VB命令操作Excel表时,除非设置Excel对象不可见,否则VB程序可继续执行其它操作,也能够关闭Excel,同时也可对Excel进行操作。但在Excel操作过程中关闭Excel对象时,VB无法知道,如果此时使用Excel对象,则VB程序会出现自动化错误,形成VB程序无法完全控制Excel状况,使得VB与Excel脱节。

二、Excel的宏功能

Excel 提供了一个Visual Basic编辑器,打开Visual Basic编辑器,其中有一工程属性窗口,点击右键菜单的“插入模块”,则增加一个“模块1”,在此模块中可以运用Visual Basic语言编写函数和过程并称之为宏。其中,Excel有两个自动宏:一个是启动宏(Sub Auto_Open()),另一个是关闭宏(Sub Auto_Close())。它们的特性是:当用Excel打开含有启动宏的工作薄时,就会自动运行启动宏,同理,当关闭含有关闭宏的工作薄时就会自动运行关闭宏。但是通过VB的自动化功能来调用Excel工作表时,启动宏和关闭宏不会自动运行,而需要在VB中通过命令 xlBook.RunAutoMacros(xlAutoOpen)和xlBook.RunAutoMacros(xlAutoClose)来运行启动宏和关闭宏。

三、VB与Excel的相互沟通:

充分利用Excel的启动宏和关闭宏,可以实现VB与Excel的相互沟通,其方法如下:

在Excel的启动宏中加入一段程序,其功能是在磁盘中写入一个标志文件,同时在关闭宏中加入一段删除此标志的程序。VB程序在执行时通过判断此标志文件存在与否来判断Excel是否打开,如果此标志文件存在,表明Excel对象正在运行,应该禁止其它程序的运行。如果此标志文件不存在,表明Excel对象已被关闭,此时如果要使用Excel对象运行,必须重新创建Excel对象。

四、举例

1、在VB中,建立一个FORM,在其上放置两个命令按钮,将Command1的Caption属性改为Excel,Command2的Caption属性改为End。然后在其中输入如下程序:

Dim xlApp As Excel.Application '定义Excel类

Dim xlBook As Excel.Workbook '定义工作薄类

Dim XlSheet As Excel.Worksheet '定义工作表类

Private Sub Command1_Click() '打开Excel过程

If Dir(“D:\temp\excel.bz”)= “”Then '判断Excel是否打开

Set xlApp = CreateObject(“Excel.Application”) '创建Excel应用类

xlApp.Visible = True '设置Excel可见

Set xlBook = xlApp.Workbooks.Open(“D:\temp\bb.xls”) '打开Excel工作薄

Set xlSheet = xlBook.Worksheet(1) '打开Excel工作表

xlSheet.Activate '激活工作表

xlSheet.Cells(1,1) = “abc” '给单元格1行驶列赋值

xlBook.RunAutoMacros(xlAutoOpen) '运行Excel中的启动宏

Else

MsgBox(“Excel已打开”)

End If

End Sub

Private Sub Command2_Click()

If Dir(“D:\temp\excel.bz”) “” Then '由VB关闭Excel

xlBook.RunAutoMacros(xlAutoClose) '执行Excel关闭宏

xlBook.Close(True)关闭Excel工作薄

xlApp.Quit '关闭Excel

End If

Set xlApp = Nothing '释放Excel对象

End

End Sub

2、在D盘根目录上建立一个名为temp的子目录,在temp目录下建立一个名为“bb.xls”的Excel文件。

3、在“bb.xls”中打开Visual Basic编辑器,在工程窗口中点鼠标键选择插入模块,在模块中输入以下程序存盘:

Sub auto_open()

Open “d:\temp\excel.bz” For Output As #1

Close #1

End Sub

Sub auto_close()

Kill “d:\temp\excel.bz”

End Sub

4、运行VB程序,点击Excel按钮可以打开Excel系统,打开Excel系统后,VB程序和Excel分别属两个不同的应用系统,均可同时进行操作,由于系统加了判断,因此在VB程序中重复点击Excel按钮时会提示Excel已打开。如果在Excel中关闭Excel后再点Excel按钮,则会重新打开Excel。而无论Excel打开与否,通过VB程序均可关闭Excel。这样就实现了VB与Excel的无缝连接。

2.用VB.NET结合Excel设计统计生产报表

用EXCEL做企业生产报表的理由

Excel表格生成和公式设置十分强大便利,是一个强有力的信息分析与处理工具。特别是EXCEL的公式、函数、VBA语言,功能极其强大。我试用过其他电子表格软件,在功能上和EXCEL根本没有可比性。

Visual Studio ,NET也同样是MicroSoft的产品,Visual Studio ,NET调用EXCEL做企业报表十分方便。证明当时我选Visual Studio ,NET作为首选开发工具是正确的。

软件构思

先在EXCEL里定制好名为《统计表》的样表(模版),,在样表中设置好各种格式,填写好固定项。

在窗体上放很三个控件,两个DateTimePicker控件,用来选择开始统计时间和结束统计时间。一个Button以启动程序。

软件欲实现的功能是:点击Button1,自动查找符合日期符合日期范围的生产计划工作表,然后利用SortedList统计各个办事处的计划数量和未完成数量,及各个产品型号的计划数量和未完成数量。再把SortedList的数据读出写到《统计表》中。

这里要注意的是,各个生产报表格式必须规范统一,因为程序是按照固定单元格位置读取数据的。

SortedList类

除了具备VB,NET调用EXCEL的基础知识外,本例主要用到SortedList类。

SortedList类表示键/值对的集合,这些键和值按键排序并可按照键和索引访问。

SortedList 是 Hashtable 和 Array 的混合。当使用 Item 索引器属性按照元素的键访问元素时,其行为类似于 Hashtable。当使用 GetByIndex 或 SetByIndex 按照元素的索引访问元素时,其行为类似于 Array。

SortedList 在内部维护两个数组以将数组存储到列表中;即,一个数组用于键,另一个数组用于相关联的值。每个元素都是一个可作为 DictionaryEntry 对象进行访问的键/值对。键不能为空引用(Visual Basic 中为 Nothing),但值可以。

SortedList 的容量是列表可拥有的元素数。随着向 SortedList 中添加元素,容量通过重新分配按需自动增加。可通过调用 TrimToSize 或通过显式设置 Capacity 属性减少容量。

SortedList 的元素将按照特定的 IComparer 实现(在创建 SortedList 时指定)或按照键本身提供的 IComparable 实现并依据键来进行排序。不论在哪种情况下,SortedList 都不允许重复键。

VB,NET结合EXCEL统计生产报表

以下是实现代码,供参考。为方便初学者,部份地方加以注释。

现在让我们来试用一下,先选择开始统计时间和结束统计时间,点击Button1,程序就自动统计出各个办事处的及各个产品的有关计划数量及未完成数量,是不是很方便。

vb.net获取excel页面高度

1 打开Excel dim myexcelas new Excel.Application() myexcel.visible=true

2 添加新的工作簿myexcel.Workbooks.add()

3 设定第二个工作表为活动工作表myexcel.worksheets(2).Acivate()

4 打开指定的Excel文件myexcel.workbooks.open(“c:\my.xls”)

5 显示Excel窗口myexcel.visible=true

6 更改Excel的标题栏myexcel.caption=“欢迎,欢迎!”

7 为Excel的单元格赋值myexcel.cells(1,4).value=100 此语句使Excel当前工作表的第一行第四列,即D1单元格等于100, 也可以这样写: myexcel.Range(“D1”).value=100

8 设置指定列的宽度(单位:字符个数)myexcel.ActiveSheet.colums(1).columnwidth=20 设定当前工作表第1列的宽度为20

9 设置指定行的高(单位:磅)myexcel.ActiveSheet.rows(1).rowHeight=1/0.035 1磅 =0.035厘米设置第1行的高度为1CM

10 插入分页符 myexcel.Activesheet.rows(20).pagebreak=1在第20行前插入分页符

11 删除分页符myexcel.Activesheet.columns(20).pagebreak=0 在第20列前删除分页符

12 指定边框线的宽度myexcel.Activesheet.range(“B3:D3”).borders(1).weight=3 其中borders参数指定单元格边框的位置:1:左 2:右 3:顶 4:底 5:斜\ 6:斜/

13 指定边框线条的类型 myexcel.Activesheet.range(“B1:D3”).borders(2).linestyle=1此语句将当前工作表的B1:D3单元格的右边框设置为实线 linestyle参数: 1:细实线 2:细虚线 3:点虚线 4:双细实线

14 设置页脚myexcel.activesheet.pagesetup.centerfooter=“第p页” 注意:设置页眉页脚时要保证计算机上装有打印机,否则出错!

15 设置页眉myexcel.activesheet.pagesetup.centerfooter=“第p页”

16 设置页眉到顶断距离为2cmmyexcel.Activesheet.pagesetup.Headermargin=2/0.035

17 设置页脚到底端距离为2cmmyexcel.Activesheet.pagesetup.Footermargin=2/0.035

18 设置顶边边距为2cmmyexcel.Activesheet.pagesetup.topmargin=2/0.035

19 设置底边边距为2cmmyexcel.Activesheet.pagesetup.Bottommargin=2/0.035

20 设置左边边距为2cmmyexcel.Activesheet.pagesetup.Leftmargin=2/0.035

21 设置右边边距为2cmmyexcel.Activesheet.pagesetup.Rightmargin=2/0.035

22 设置页面水平居中myexcel.activesheet.pagesetup.CenterHorizontally=true

23 设置页面垂直居中myexcel.activesheet.pagesetup.Centervertically=true

24 设置页面纸张大小 (1,窄行8.511 ;39 ,宽行1411) myexcel.activesheet.pagesetup.papersize=1

25 打印单元格网格线 myexcel.activesheet.pagesetup.PrintGridlines=true

26 复制整个工作表 myexcel.activesheet.Usedrange.Copy

27 复制指定区域 myexcel.activesheet.range(“a1:b5”).Copy

28 粘贴 myexcel.worksheets(“sheet2”).range(“A1”).PasteSpecial

29 在第2行前插入一行 myexcel.activesheet.rows(2).Insert

30 在第2列前插入一列 myexcel.Activesheet.Columns(2).Insert

31 合并 C4:D4 单元格 myexcel.Activesheet.Range(“C4:D4”).Merge()

32 自动调整第2列列宽 myexcel.activesheet.Columns(2).AutoFit

33 设置字体myexcel.Activesheet.cells(2,1).font.name=“黑体”

34 设置字体大小myexcel.Activesheet.cells(2,1).font.size=25

35 设置字体为斜体 myexcel.Activesheet.cells(2,1).font.Italic=true

36 设置字体为粗体 myexcel.Activesheet.cells(2,1).font.Bold=true

37 清除单元格内容myexcel.activesheet.cells(2,1).ClearContents

38 打印预览工作表myexcel.Activesheet.PrintPreview

39 打印工作表 myexcel.Activesheet.Printout

40 工作表另存为myexcel.ActiveWorkbook.saveas(“C:\book2.xls”)

41 放弃存盘 myexcel.ActiveWorkbook.saved=false

42 关闭工作簿 myexcel.Workbooks.close

43 退出 Excel myexcel.quit

44 纸张横向:myexcel.activesheet.PageSetup.OrientaTion=2(1纵向)

45 单元格居中:cells(2,1).HorizontalAlignment=Excel.XlHAlign.xlHAlignCenter 水平方向cells(2,1).VerticalAlignment=Excel.XlVAlign.xlVAlignCenter 垂直方向

打开CSDN APP,看更多技术内容

VB调用Excel软件实现打印预览功能

摘要:VB源码,报表打印,打印预览VB调用Excel软件实现打印预览功能,可以插入折线图,VB打印预览功能示例源码,分享给大家参考。

用vb操作EXCEL打印报表

最近使用vb来打印报表,打印出来的EXCEL一直无法上传到ftp 反复多次问题都没解决, 200 PORT command successful. Consider using PASV. 问题出在这,由于win10的防火墙的原因,关闭防火墙后问题得到解决. 转载于:...

继续访问

VB操作excel 格式设置及打印页面设置(精简)

langue:VB Set ExcelApp = CreateObject("Excel.Application") ’创建资源,建立连接 Set ExcelBook = ExcelApp.Workbooks.Open(“d:\pipo\index.htm") Set ExcelSheet = ExcelBook.Worksheet...

继续访问

vb.net excel操作:填充人事档案表并打印

节选自:《Visual Basic.Net 循序渐进》【例 21.7】【项目:code21-007】填充人事档案表并打印。 本例使用到的Excel文件为:职员信息登记表.xlsx,如下图所示: 图21-10 职员信息登记表 窗体设计如下图所示(注意:为了演示方便,已经填充了数据): 图21-11 窗体设计 在本例中还需要掌握的知识: 1、插入图片到指定位置 Worksheet.Shapes.AddPicture(Filename, LinkToFile, SaveWithDocumen

继续访问

vb.net操作Excel常用命令

转载: 首先,须在项目里引用: 添加引用-Com-Microsoft Excel 9.0 Object Library (这是EXCEL2000) 1 打开Excel: dim myexcel as new Excel.Application() myexcel.visib...

继续访问

vb.net 如何实现报表打印_Excel如何实现分类别打印?创建组轻松实现

有朋友咨询个关于Excel打印数据问题,他的需求是这样的:下表中是某公司人员信息表,现在领导要求将表格分部门打印出来,每位员工核对个人信息并签字。需求很明确,就是将相同部门的人员打印到一张纸上。打印很简单,难点在于如何按每个部门去打印?如果部门较少的话可以将不同部门复制到不同插页中,再进行打印;但是如果部门较多的话,这种办法实在不可取;有小伙伴表示可以利用VBA技术将部门拆分到各个插页,在进行打印...

继续访问

最新发布 vb.net 教程 11-1 打印组件 3 PageSetupDialog

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 本节谈谈另外一个有关打印的对话框:PageSetupDialog,页面设置对话框 实际我们是通过这个对话框获得PageSetting,关于PageSetting在上一节有部分介绍,请参看 vb.net 教程 11-1 打印组件 PrintDialog 2 注意的是,使用PageSetupDialog需要绑定一个PrintDocument,在PageSetupDialog的Document属性处

继续访问

VB.NET使用EXCEL常见操作

首先,须在项目里引用: 添加引用Microsoft.Office.Interop.Excel Imports Excel = Microsoft.Office.Interop.Excel 1 打开Excel: Dim myexcel as new Excel.Application() myexcel.visible=true 2 添加新的工作簿: myexcel.Workbooks.ad

继续访问

【VB Excel】VB 操作Excel基本步骤

VB操作EXCEL,实现数据读取 1、定义Excel操作变量 Dim objExcelFile As Excel.Application Dim objWorkBook As Excel.Workbook Dim objImportSheet As Excel.Worksheet 2、打开Excel进程,并打开目标Exc...

继续访问

vba代码编程800例_如何设置Excel打印格式,学会这个VBA对象就可以随心所欲

NO.1 Excel如何设置打印格式使用vba可以做打印格式处理,如何做一个漂亮的打印页面,不外乎要设置打印表格的边框、版式、页眉、页角等等。那么怎样设置这些格式呢?NO.2 PageSetup对象vba编程用到Pagesetup对象,对表格打印进行设置。PageSetup对象有许多属性,下面图片里列出了大部分常用的属性,可以对照进行设置。具体方法下面举个例子来展示一下最终效果。PageSetup...

继续访问

vb.net操作excel文件

[转自] vb.net操作excel文件 要求将数据显示在Excel表中,并且要设好数据格式。虽说如此,真正实现了自己的功能,还是费了不少时间。相信还是有很多与我相似的人需要实现这种功能。那就做个小结吧。不妥之处,请指正哦。 1.添加引用–com—microsoft excel 11.0 object library 2在需要访问excel的过程中定义 dim exapp as excel.a

继续访问

VB.net使用PrintForm打印窗体

在VS2010中内置了了一个PowerPacks的扩展包,果然很好用啊,可以直接打印窗体内容 先从"工具箱"中拖一个PrintForm到设计好的窗体中 然后在窗体里加了个打印的按钮,对应代码如下 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.

继续访问

热门推荐 开源:.NET环境下有关打印页面设置、打印机设置、打印预览对话框的实现与应用(2)

!--google_ad_client = "pub-0022674553583619";google_ad_width = 728;google_ad_height = 90;google_ad_format = "728x90_as";google_ad_type = "text_image";google_ad_channel ="";google_color_

继续访问

vb.net 设置打印纸张与页边距_机关公文格式设置规范(最新整理版)

本方法根据《党政机关公文格式国家标准》(GB/T9704-2012)制定。具体内容如下:一、办公软件要求适用于微软OFFICE—WORD文字处理软件。二、页面设置1.选择“文件”——“页面设置”选择“页边距”附签,上:3.7厘米,下:3.5厘米,左:2.8厘米,右:2.6厘米。2.选择“纸张”附签,“纸张大小”设成“A4”。3.选择“版式”附签,将“页眉和页脚”设置成“奇偶页不同”,在该...

继续访问

VB.NET EXCEL 操作

新手关于VB.net的问题

您好,在Visual Basic.NET中,是没有像这样的文件I/O操作的,一般都是通过System.IO.StreamReader和System.IO.StreamWriter类,System.IO.BinaryReader和System.IO.BinaryWriter类来读写文件以及利用My.Computer.FileSystem类读写文件,利用System.IO.Filestream类来创建文件,通过引用Microsoft Scripting Runtime来执行文件(夹)和驱动器的特殊操作,常用的是System.IO.StreamReader和System.IO.StreamWriter类。

例如说要读取一个文件,我们可以利用System.IO.StreamReader类编写一个方法(也就是函数),但是首先要在当前类的开头添加一个引用,引用名称:System.IO,添加引用的代码如下

Imports System.IO

添加引用之后,就在当前类的内部创建方法:

Private Function ReadFile(ByVal FileURL As String) As String

Dim sr As StreamReader = New StreamReader(FileURL)

ReadFile = sr.ReadToEnd()

sr.Close()

sr = Nothing

End Function

示例说明:

该方法是一个返回String(字符串)数据的函数,FileURL作为参数是用来存放需要访问的文件的URL,当然,要获取一个文件的URL,就是利用这一句代码实现的:

Dim sr As StreamReader = New StreamReader(FileURL)

当获取了URL之后,就要对文件进行读取操作了,然后将读取的结果返回给方法:

ReadFile = sr.ReadToEnd()

读取文件完毕之后,要对文件执行关闭操作:

sr.Close()

当然别忘了清理资源:

sr = Nothing

StreamReader类可以从流或文件中读取字符,在创建StreamREader类的对象时,可以指定一个流对象,也可以指定一个文件URL,创建对象后就可以调用他的方法,从流中读取数据,其常用方法如下:

Peek:返回下一个可用字符,但不使用它。

Read:读取输入流中下一个字符或一组字符并移动流或文件指针。

ReadBlock:从当前流中读取最大数量字符并从index开始将数据写入buffer。

ReadLine:从当前流中读取一行字符并将字符作为String返回。

REadToEnd:从流的当前位置到末尾读取流。

Close:关闭打开的对象,释放资源。

注:流,一种新的数据格式,这种格式可通过System.IO命名空间下的类访问。流用Stream类表示,所有的流都是从这个类中继承的。流向用户提供了一个一般的数据视图,隐藏了操作系统和底层设备的实现细节,所有的流都支持读写操作。在打开文件时将返回对应的流对象,用户可以对流对象进行读写操作。

如果要对文件执行按行读取操作,这时就会用到枚举,这时候,代码就要更改一下了:

Private Function ReadFile(ByVal FileURL As String) As String

Dim sr As StreamReader = New StreamReader(FileURL)

For Each fLine As String In sr.ReadToEnd()

Line = sr.ReadLine()

ReadFile = ReadFile fLine

Next sr.ReadLine

sr.Close()

End Function

示例说明:

For Each…Next:派生于For…Next循环,用于枚举一系列对象中的成员,而这些对象组成集合,如果集合中至少存在一个元素,程序就会静茹For Each块执行。其格式如下:

For Each 元素 [As 数据类型] In 元素集合

[循环体]

[Exit For]

[循环体]

Next [元素]

比如:

Dim CountNumber As ULong = 0

Dim FolderName() As String = New String() {" "}

For Each strFolder As String In My.Computer.FileSystem.GetDirectories("C:\")

CountNumber = CountNumber + 1

ReDim Preserve FolderName(1 To CountNumber)

FolderName = strFolder

Next strFolder

注:My.Computer.FileSystem.GetDirectories:主要用来枚举指定目录的子文件夹。

Preserve:主要用来避免重定义数组而不损失数组元素的原有数据。

另外,利用My.Computer.FileSystem也可以实现文件的读取,其代码如下:

Dim fpReader As String = My.Computer.FileSystem.ReadAllText("C:\test.txt")

示例说明:

定义一个字符串变量利用My.Computer.FileSystem.ReadAllText来实现对“C:\test.txt”的读取。

如果是已经编码的文本,则可以使用My.Computer.FileSystem对象中的ReadAllText方法并提供路径和文件编码类型,将文本写入字符串变量中,例如:

Dim fpReader As String = My.Computer.FileSystem.ReadAllText("C:\test.txt", _

System.Text.Encoding.UTF32)

当然,System.Text.Encoding的成员不止一个,它还有如下成员:

System.Text.Encoding.UTF8

System.Text.Encoding.UTF16

System.Text.Encoding.ASCII

System.Text.Encoding.Unicode

这些是常见的成员,也是主要的成员。

另外,利用My.Computer.Filesystem类无法实现文件的行操作,还有,如果您的计算机未安装完整的Microsoft.NET Framework Runtime,则无法实现这种操作!

写入文件的操作同样简单,Visual Basic.NET 允许用户使用StreamWriter来对文件写入内容,下面就让我们来创建一个子例程,来实现文件的写入:

Private Sub WriterFile(ByVal FileURL As String, ByVal FileCon As String)

Dim sr As StreamWriter = New StreamWriter(FileURL)

sr.Write(FileCon)

sr.Close()

sr = Nothing

End Sub

示例说明:

sr.Write(FileCon):将FileCon写入文件FileURL之中。

另外,StreamWriter常用方法如下:

WriteLine:向流中写入一行,后面跟结束符。

Write:写入流,向流对象中写入字符并移动流或文件指针。

Close:关闭打开的对象,释放资源。

附:Visual Basic 6.0文件操作解说:

打开: Open 文件名 For Input | Output | Append As [#]文件号

Input打开读入,文件不存在报错。Output打开覆盖写入,文件不存在则创建。Append打 开追加写入,文件不存在则创建。

读: Line Input #文件号, 字符串变量

读一行数据存入字符串变量,数据包括空格、Tab、等,不包括回车符和换行符,所以要显示文件的换行效果,要手动添加回车符和换行符(vbCrLf)

Input #文件号, 变量1[, | ;] [变量2]...

这种方式可以存入多个变量,而且变量类型不限于字符串型。

写: Print #文件号, 参数1[, | ;] [参数2]...

将各参数逐个写入文件。参数间用逗号隔开时,文件中相应插入多个空格;用分号隔开时,插入一个空格。可以用Spc(n)、Tab(n)等进行排版。

Write #文件号, 参数1[, | ;] [参数2]...

这种写入方式将自动添加界定符,对不同参数的类型加以界定。

Visual Basic 6.0文件操作函数:

Seek: Seek(文件号)

返回文件正在访问的位置,返回值为长整型。对顺序文件和二进制文件,返回值以字节为单位;对随机访问文件,返回值以记录号为单位。

Seek: Seek [#]文件号,位置

定位文件到指定位置。位置单位同上所述。

Input: Input (字节数,[#]文件号)

从文件的访问当前位置读入指定字节数的数据。仅适用于顺序文件和二进制文件。

EOF: EOF(文件号)

判断文件的访问位置是否在文件尾,如果是,返回True,否则,返回False。

LOF: LOF(文件号)

返回文件长度,单位为字节。

FileLen: FileLen (文件名)

返回文件名对应文件的长度,单位是字节。该函数取磁盘文件标识中的长度,即文件打开前的长度,可以取未打开的文件长度。

GetAttr: GetAttr (Pathname)

返回指定文件或文件夹的属性。

FileAttr: FileAttr (文件号)

返回文件号对应文件的打开方式。

GetDateTime: GetDateTime (Pathname)

返回文件被创建或修改的最后日期和时间。

Free: FreeFile[(0|1)]

返回未被占用的文件号,Free或Free(0)返回1~255之间未占用的文件号,Free(1)返回256~511之间未占用的文件。

Dir: Dir (Pathname [,Attributes])

测试指定路径是否有某文件,Attributes附加文件属性条件,取值vbNormal、vbReadOnly、vbHidden、vbSystem、vbVolume、vbDirectory。

Kill: Kill (文件名)

删除指定文件,文件名可包含路径。

FileCopy: FileCopy 源文件,目标文件

拷贝文件。

Name: Name 旧文件名 As 新文件名

文件重命名。前后路径不一致时,操作为移动文件并重命名。

MkDir: MkDir path

新建文件夹。

RmDir: Rmdir path

删除文件夹。

ChDrive: ChDrive Drive

改变当前驱动器 ChDrive "D"

CurDir: CurDir [(driver)]

返回当前工作路径,指定driver则返回目标驱动器的当前工作路径。

举例:

'新建文件,并写入数据,关闭

Open "a.txt" For Output As #1

Print #1, "ABCDEFG"; vbCrLf; "HIJK"

Close #1

'打开文件,并全部写入新文件,关闭

Open "a.txt" For Input As #2

Open "b.txt" For Output As #3

Dim str As String

While (Not EOF(2))

Line Input #2, str

Print #3, str

Wend

Close

注:关于Visual Basic 6.0的文件操作资料来自于

如果您觉得我的回答帮助了您解决难题,别忘了采纳哦,如果我的回答未能解决您的问题,您可以在互联网上寻找更多的解决方案!

vb.net中 导出excel表格代码怎么写

private void ExportExcelFromDataGrid

( string filename , System.Web.UI.WebControls.DataGrid ToExcelGrid )

...{

Response.Clear();

Response.Buffer= true;

Response.Charset="utf-8";

Response.AppendHeader ("Content-Disposition","attachment;filename="+Server.UrlEncode ( filename ) );

Response.ContentEncoding=System.Text.Encoding.Default;//设置输出流为简体中文

Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。

this.EnableViewState = false;

System.Globalization.CultureInfo myCItrad =

new System.Globalization.CultureInfo("ZH-CN",true);

System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);

System.Web.UI.HtmlTextWriter oHtmlTextWriter =

new System.Web.UI.HtmlTextWriter(oStringWriter);

ToExcelGrid.RenderControl(oHtmlTextWriter);

Response.Write(oStringWriter.ToString());

Response.End();

}

private void Button4_Click(object sender, System.EventArgs e)

...{

this.Panel1.Visible = false;

string filename = "内训师.xls";

this.DataGrid1.Columns[6].Visible = true;

this.DataGrid1.Columns[7].Visible = true;

this.DataGrid1.Columns[this.DataGrid1.Columns.Count-1].Visible = false; // *

this.DataGrid1.Columns[this.DataGrid1.Columns.Count-2].Visible = false; // *

this.DataGrid1.AllowSorting = false; // *

this.DataGrid1.AllowPaging = false;

this.DataGrid1.SelectedIndex = -1; // *

this.BindGrid();

this.ExportExcelFromDataGrid ( filename , this.DataGrid1 );

}

}

原理是利用DataGrid(其实是其父类Control)的RenderControl方法输出,整个DataGrid的外观时,将这些HTML代码写入到缓冲区,同时设置一下 ContentType ,让Excel自己的自动纠错功能将这个输出存为一个Excel文件。

很多网上的朋友使用了以上这种可粘贴性强的代码,发现不好用,反映的错误类似:

“LinkButton必须放在一个具有runat=server的标签的Form”之类的话,而更多的网友说:

问题很明显,因为DataGrid没有放在runat=server 的Form里面,加上就可以了。

我认为,这种回答是很不准确的,理由如下:

通常使用这种代码的人他/她的DataGrid,最起码已经能用了,所以必定放在那个具有runat=server 的form标签里了。 报错是LinkButton,而不是DataGrid,很多细心的朋友很可能会说,我一直在用DataGrid,LinkButton在哪里来的。 其实真正的问题是,上面的代码没有加了 // * 的那几行代码引起的。

当然如果你的DataGrid,没有排序,没有使用那种按钮列的话,是不会出问题的。

言归正传,LinkButtion其实是你将DataGrid设为可排序时候,的表头包含的,所以我要将DataGrid的排序设为False。

同样得到上面的其实,那些按钮列,什么"编辑"、“删除”等等这些,也是用了LinkButton,把他设为不可见就是了。

其实说得再明白一点就是,将有可能产生LinkButton,或其他控件的东西都不让它输出就是了

vb.net dataGridView中的数据导出为excel表2010-03-01 15:03在form1窗体里添加一个dataGridView1(根据自己是使用情况要给他命名,符合命名规范哟。)在添加一个Button1(命名)。记着,dataGridView的属性里有一个allowUsersToAddRows,要设置成FALSE。否则会发生一个错误,当然错误是什么你自己试一下就ok了。

还有一点要注意:因为你要用到excel表,所以要首先在项目里添加引用哟:项目(project)-添加引用(add reference)-Microsoft .Office.Interop.Excel

Button1的代码:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

'要先添加引用才能用到 Microsoft.Office.Interop.Excel.Application()

Dim MyExcel As New Microsoft.Office.Interop.Excel.Application()

MyExcel.Application.Workbooks.Add(True)

MyExcel.Visible = True

'去除dataGridView1的编号列(这里也可以不要)

Dim m As Integer

For m = 0 To DataGridView1.ColumnCount - 1

MyExcel.Cells(1, m + 1) = Me.DataGridView1.Columns(m).HeaderText

Next m

'往excel表里添加数据

Dim i As Integer

For i = 0 To DataGridView1.RowCount - 1

Dim j As Integer

For j = 0 To DataGridView1.ColumnCount - 1

If Me.DataGridView1(j, i).Value Is System.DBNull.Value Then

MyExcel.Cells(i + 2, j + 1) = ""

Else

MyExcel.Cells(i + 2, j + 1) = DataGridView1(j, i).Value.ToString

End If

Next j

Next i

End Sub


分享文章:vb.net常用命令 vb命令大全
网页链接:http://cqcxhl.com/article/doccssd.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP