1.控制台程序创建Excel,并设置状态栏显示“Hello World”文本

Module Module1

    Private exitXL As Boolean = False
Dim WithEvents myExcelApp As Excel.Application 'withEvents 表示定义的变量具有相对应的事件,此处myExcelApp对象具有Excel.Application所对应的事件过程 Sub Main() myExcelApp = New Excel.Application
myExcelApp.Visible = True
myExcelApp.StatusBar = "Hello World"
myExcelApp.Workbooks.Add() While exitXL = False
'若没有这一句,控制台窗口将自动关闭,System.Windows.Forms.Application.DoEvents()方法可以使窗体处理其他事件,所以窗体能够进行重绘。不至于出现假死现象。
System.Windows.Forms.Application.DoEvents()
End While End Sub
Private Sub myExcelApp_SheetBeforeDoubleClick(ByVal sheet As Object, ByVal target As Excel.Range, ByRef cancel As Boolean) Handles myExcelApp.SheetBeforeDoubleClick
exitXL = True
End Sub End Module

运行结果:

2.实时显示60秒的倒计时效果

核心语句:System.Windows.Forms.Application.DoEvents()方法的作用

Imports System.Threading
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim i As Integer =
While i >=
TextBox1.Text = i.ToString()
System.Windows.Forms.Application.DoEvents() '若我们去掉此行代码,则会出现界面卡死的现象,无法实现每隔一秒钟显示当前倒计时的效果。
i = i -
Thread.Sleep()
End While
End Sub
End Class
'*********************************************************************************************************
'* MSDN针对System.Windows.Forms.Application.DoEvents()的解释: *
'* 当运行Windows窗体时, 会创建新窗体, 然后窗体将等待处理各种事件, 而窗体每次处理事件时, *
'* 都会处理完与该事件关联的所有代码, 才会去处理其他事件, 这时其他事件将会在队列中等待。 *
'* 因此, 在处理事件时, 程序并不进行响应, 当然也不会进行窗口重绘操作。 *
'* 但是System.Windows.Forms.Application.DoEvents()方法可以使窗体处理其他事件,所以窗体能够进行重绘。 *
'*********************************************************************************************************

运行结果:

表2.1  显示Word的加载项对象的属性和方法的简表

属性或方法

名    称

返回类型

属性

Application

Application

属性

Autoload

Boolean

属性

Compiled

Boolean

属性

Creator

Int32

方法

Delete

Void

属性

Index

Int32

属性

Installed

Boolean

属性

Name

String

属性

Parent

Object

属性

Path

String

 清单2.3  完整的WordWiki实现(将文本文档test.txt中的内容以表格的形式存入word中)

Imports System.Collections.Generic
Imports System.Text
Imports System.IO
Imports Office = Microsoft.Office.Core
Imports Word = Microsoft.Office.Interop.Word Module Module1
Sub Main(ByVal args As String()) Dim theApplication As New Word.Application '定义word程序
theApplication.Visible = True '使word程序可视
Dim theDocument As Word.Document '定义word文档
theDocument = theApplication.Documents.Add() '为程序添加word文档 Dim reader As TextReader '定义Txt文本读取器
reader = New System.IO.StreamReader(My.Application.Info.DirectoryPath & "/test.txt") '实例化读取文本接口,My.Application.Info.DirectoryPath指的是本程序的\bin\Debug目录 Dim separators() As String '定义分隔符字符串
separators() = "||" '为分隔符变量赋值
Dim rowCount As Integer = '定义行数
Dim columnCount As Integer = '定义列数 ' 读取行并计算行数和列数
Dim rowList As New System.Collections.Generic.List(Of String) '定义字符串型的列表集对象
Dim row As String = reader.ReadLine() '读取文本存储器中的一行
While row IsNot Nothing '读取行没有到结尾
rowCount += '读取下一行
rowList.Add(row) '将所读取的一行文本存储在列表集对象中 ' 如果这是第一行,就计算列数
If rowCount = Then
Dim splitHeaderRow As String() = row.Split(separators, StringSplitOptions.None) 'StringSplitOptions.None,就是分开的数组元素包括空元素
columnCount = splitHeaderRow.Length - ' 忽略第一和最后一个分隔符
End If
row = reader.ReadLine()
End While ' 在word中创建一个表
Dim range As Word.Range = theDocument.Range() '定义文档单元格
Dim table As Word.Table = range.Tables.Add(range, rowCount, columnCount) '创建一个rowCount行columnCount列的表格 ' 操作word中所创建的表
Dim columnIndex As Integer =
Dim rowIndex As Integer = For Each r As String In rowList
Dim splitRow As String() = r.Split(separators, StringSplitOptions.None) 'StringSplitOptions.None,就是分开的数组元素包括空元素
For columnIndex = To columnCount
Dim cell As Word.Cell = table.Cell(rowIndex, columnIndex) '\bin\Debug目录中test.txt文件中的结尾不能有多余的空行,不然会提示超出索引范围而出现错误
cell.Range.Text = splitRow(columnIndex)
Next
rowIndex +=
Next ' 格式化表格
table.Rows().Range.Bold =
table.AutoFitBehavior(Word.WdAutoFitBehavior.wdAutoFitContent) 'AutoFitBehavior()方法的作用就是以某种方法调整表格,ord.WdAutoFitBehavior.wdAutoFitContent表示表格根据内容来调节 ' 退出前等待命令输入
System.Console.WriteLine("Table complete.")
System.Console.ReadLine() ' 没有保存更改而退出
theApplication.Quit(False)
End Sub
End Module

test.txt文档中的内容

||Property or Method||Name||Return Type||
||Property||Application||Application||
||Property||Autoload||Boolean||
||Property||Compiled||Boolean||
||Property||Creator||Int32||
||Method||Delete||Void||
||Property||Index||Int32||
||Property||Installed||Boolean||
||Property||Name||String||
||Property||Parent||Object||
||Property||Path||String||

运行结果:

Visual Basic 2017 操作Excel和word【2】持续更新……的更多相关文章

  1. Visual Basic 2017 操作Excel和word【1】持续更新……

    我坚持在VB的路上走到黑…………  清单1.1  从应用程序对象导航到Excel中的工作表  Dim myWorkbooks As Excel.Workbooks = app.Workbooks ) ...

  2. 针对每种Windows Server 操作Excel、Word等Office组件遇到“ComException"、”80070005“等COM错误的解决方案大汇总

    以下所有Excel错误的解决方案,同样适用于Word.PowerPoint等Office产品. 以下解决方案中,如果出现"安装Excel组件",是适用于遇到Excel错误的.如果是 ...

  3. Java操作Excel和Word

    这是一个URL它提供了Java项目所推荐的处理此项目所用的类库 http://www.oschina.net/project/tag/258/excel-tools?company=0&sor ...

  4. POI(java 操作excel,word等)编程

    一.下载所需jar包 下载地址:http://poi.apache.org/download.html http://download.csdn.net/detail/likai22/534250 二 ...

  5. Windows操作技巧 之二(持续更新)

     定时自动关机 shutdown -s -t 3600 shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f /m \\computer] ...

  6. Windows 操作小技巧 之一(持续更新)

    1.图片批量旋转 通常携带单反去景点排了大量照片回来处理图片时都会遇到很多横竖杂乱排序的图片难以处理的情形.现提供如下技巧进行处理. 1).在文件夹中添加"方向"的排列或分组选项: ...

  7. MYSQL操作的一些知识点,持续更新中····

    基本概念——库 1.数据库服务器:库——>表——>行/列 2.cmd下链接: mysql – uroot –proot 3.创建库:create database  php; 3.看数据库 ...

  8. Visual Basic 2012 借助DataGridView控件将SQL server2012 数据导入到Excel 2010

    摘  要: SQL Server 2012 数据和Excel 2010之间的连接和数据的传输,本篇文章主要针对的是SQL Server 2012 数据导入到Excel 2010文件中.Excel软件对 ...

  9. VSTO:使用C#开发Excel、Word【10】

    第二部分:.NET中的Office编程本书前两章介绍了Office对象模型和Office PIA. 您还看到如何使用Visual Studio使用VSTO的功能构建文档中的控制台应用程序,加载项和代码 ...

随机推荐

  1. java中的key事件监听机制

    package com.at221; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import javax.sw ...

  2. 19 Python标准异常总结 (转)

    Python标准异常总结 AssertionError 断言语句(assert)失败 AttributeError 尝试访问未知的对象属性 EOFError 用户输入文件末尾标志EOF(Ctrl+d) ...

  3. centos7安装redist 以及redis扩展

    wget http://download.redis.io/releases/redis-3.2.1.tar.gz   用wget下载 $ tar xzf redis-3.2.1.tar.gz   解 ...

  4. MySQL外键约束_ON DELETE CASCADE/ON UPDATE CASCADE

    MySQL通过外键约束实现数据库的参照完整性,外键约束条件可在创建外键时指定,table的存储引擎只能是InnoDB,因为只有这种存储模式才支持外键. 外键约束条件有以下4种: (1)restrict ...

  5. CSS 边框样式

    CSS 边框样式 直线边框样式 <html> <body> <!-- border: 1px 边框像素为1.solid red 边框样式以及边框颜色 --> < ...

  6. JavaScript Dom 绑定事件

    JavaScript  Dom 绑定事件 // 先获取Dom对象,然后进行绑定 document.getElementById('xx').onclick document.getElementByI ...

  7. Docker Swarm 高可用详解

    Docker Swarm 高可用详解 Manager管理节点宕机后其他管理节点仍然可以使用管理 intermal distributed state store:内部分布式状态存储同步共享到每个节点. ...

  8. Java爬虫模拟登录——不给我毛概二的H某大学

    你的账号访问太频繁,请一分钟之后再试! 从大一开始 就用脚本在刷课 在专业课踢的只剩下一门C#的情况下 活活刷到一周的课 大二开始教务系统多了一个非常**的操作 退课池 and 访问频繁缓冲 难道,我 ...

  9. shiro权限管理入门程序

    最近在学shiro,觉得入门程序还是有用的,记下来防止遗忘,也可供大家参考. package cn.itcast.shiro.authentication; import org.apache.shi ...

  10. 在myeclipse中使用log4j记录日志

    1.从官方网站下载 jakarta-log4j-1.2.17.tar.gz http://logging.apache.org/log4j/1.2/download.html 2.在eclipse中将 ...