未发布 Edraw Office Viewer component教程(二):将Excel嵌入VB 6并使之自动化
使用Edraw office viewer component,vb开发人员可以轻松地将一个现有的Excel电子表格嵌入到表单中,然后进行自动化。在加载表单时,开发人员可以使用Open方法从硬盘驱动器或服务器中加载* .xls、* .xlsx、* .xslm或* .cvs文件,并在窗口的某个区域中打开。Excel文件可以是只读、完全编辑或禁止保存等状态。开发人员还可以使用excel组件轻松实现excel自动化。
本文将演示如何逐步将Excel嵌入到VB中。如果你没有officeviewer.ocx文件,请先安装。
Office viewer component - 支持Word、Excel、PowerPoint、Visio和Project的vb6、vb.net项目
在VB 6中嵌入Excel组件
启动Visual Basic并创建一个新的标准项目。默认情况下创建Form1。
在“工具箱”面板中,右键单击空白区域。然后单击Component...
在弹出的对话框中,查看Edraw Office Viewer Component。
单击确定按钮。
Office Viewer Component便已添加到“工具栏”窗口中。
切换到VB 6窗口,然后添加组件。
该组件包括许多自定义Excel窗口的方法、事件和属性。
开发人员可以使用以下代码在Form_Load事件中打开一个excel文件。
Private Sub Form_Load() EDOffice1.OpenFileDialog'EDOffice1.OpenWord “d:\ test.xlsx” 'EDOffice1.Open“d:\ test.xls”,“Excel.Application” End Sub |
为了保护Excel工作表不被最终用户修改,开发人员需要在DocumentOpened事件中添加以下代码。
Private Sub EDOffice_DocumentOpened() EDOffice1.ProtectDoc 1'XlProtectTypeNormal End Sub |
一些包含excel自动化的方法可用于创建或修改Excel数据。
bool ExcelAddWorkSheet(long Index); bool ExcelDeleteWorkSheet(long Index); bool ExcelActivateWorkSheet(long Index); 长ExcelGetWorkSheetCount(); bool ExcelSetCellValue(long Column,long Row,BSTR Value); BSTR ExcelGetCellValue(长列,长行); bool ExcelSetRowHeight(long Row,double Height); bool ExcelSetColumnWidth(long Column,double Width); afx_msg bool ExcelDeleteRow(long Row); bool ExcelDeleteColumn(long Column); bool ExcelInsertRow(long Row); bool ExcelInsertColumn(long Column); bool ExcelInsertPageBreakInRow(long Row); bool ExcelInsertPageBreakInColumn(long Column); bool ExcelCopyToClipboard(); bool ExcelPasteStringToWorksheet(BSTR bstText); |
使用Visual Basic自动化操作Excel
单击项目,然后单击引用。将显示“引用”对话框。向下滚动列表,找到Microsoft Excel object库(Microsoft Excel xx.x Object库),然后选择引用Excel。如果列表中没有正确的Excel Object库,请确认你是否安装了合适的Excel版本。
单击“确定”关闭“引用”对话框。
将CommandButton添加到Form1。
在Form1的代码窗口中,插入以下代码:
Private Sub Command1_Click() Dim oXL As Excel.Application Set oXL = EDOffice1.GetApplication() Dim oWB As Excel.Workbook Set oWB = EDOffice1.ActiveDocument() Dim oSheet As Excel.Worksheet Dim oRng As Excel.Range Set oSheet = oWB.ActiveSheet oSheet.Cells(1, 1).Value = "First Name" oSheet.Cells(1, 2).Value = "Last Name" oSheet.Cells(1, 3).Value = "Full Name" oSheet.Cells(1, 4).Value = "Salary" ' Format A1:D1 as bold, vertical alignment = center. With oSheet.Range("A1", "D1") .Font.Bold = True .VerticalAlignment = xlVAlignCenter End With ' Create an array to set multiple values at once. Dim saNames(5, 2) As String saNames(0, 0) = "John" saNames(0, 1) = "Smith" saNames(1, 0) = "Tom" saNames(1, 1) = "Brown" saNames(2, 0) = "Sue" saNames(2, 1) = "Thomas" saNames(3, 0) = "Jane" saNames(3, 1) = "Jones" saNames(4, 0) = "Adam" saNames(4, 1) = "Johnson" ' Fill A2:B6 with an array of values (First and Last Names). oSheet.Range("A2", "B6").Value = saNames ' Fill C2:C6 with a relative formula (=A2 & " " & B2). Set oRng = oSheet.Range("C2", "C6") oRng.Formula = "=A2 & "" "" & B2" ' Fill D2:D6 with a formula(=RAND()*100000) and apply format. Set oRng = oSheet.Range("D2", "D6") oRng.Formula = "=RAND()*100000" oRng.NumberFormat = "$0.00" ' AutoFit columns A:D. Set oRng = oSheet.Range("A1", "D1") oRng.EntireColumn.AutoFit oXL.UserControl = True End Sub |
按F5运行项目。Excel将自动填充excel单元格。
自动化Excel时要注意的一点是Excel Macro Recorder。它仍然在Word 2007中,但隐藏在开发者功能区栏。
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。
未发布 Microsoft更新发布了开发者可用的人工智能服务与工具 在近期的Ignite大会上,Microsoft发布了多个与人工智能服务及工具相关的更新,其中包括发布Azure ML Experimentation服务、Azure ML Model Management服务、Azure ML Workbench以及Microsoft Cognitive Services的一般可用版(GA)。
Microsoft的机器学习平台业已得到了相当可观的采用,但是在服务中也发现了一些问题。Microsoft的高级项目经理(Group Program Manager)Matt Winkler给出了这样的解释:
我们已经部署了成百上千的模型,服务了数十亿次的请求。虽然我们只做了数年,但是已经开始看到一些经常性模式。客户告诉我们他们喜欢这种便捷性,但也提出他们需要对计算和数据具有更大的控制,为模型部署提供更多的选项。客户对框架也有着非常多样化的需求,并希望对模型具有同等程度的管理和部署能力。
此次新发布的功能,有望通过在模型的开发和部署方式为客户提供更多控制,解决客户感受到的这些不足之处。
Azure ML Experimentation服务
Azure ML Experimentation服务使用了基于Git的检查点和版本控制机制,管理项目依赖和对任务的训练操作,无论这些任务是本地执行的,还是以横向或纵向扩展方式执行的。此外,数据科学家也可以选择使用他们自己的框架,例如TensorFlow、Microsfot CNTK和SparkML等。他们也可以选择自己喜欢的开发工具,例如Microsfot Code、Visual Studio、Jupyter和PyCharm等。该服务还捕获服务端运行的度量、输出日志和模型。
Azure ML Model Management服务
Azure ML Model Management服务为客户提供了灵活控制模型部署位置的能力。客户可以使用Docker在本地(On-Premise)或云中部署模型,并具有充分的可移植性。
模型的部署和管理是通过HTTP终端实现的。客户可使用Application Insights监控并洞悉模型的性能。该服务对SparkML、Python、Cognitive Toolkit、TF和R提供了最好的支持,还可通过扩展支持Caffe和MXnet等其它一些工具。
Azure ML Workbench
Azure ML Workbench是一种用在Windows和Mac OS X上的人工智能开发工具,其中包括完全的Python和Jupyter环境设置,并嵌入了IPython Notebook。它还提供全面的运行历史,并提供对实验对比的体验。Microsoft还在其中添加了数据整理(Data Wrangling)工具,简化了将数据导入到数据科学实验中的体验。数据整理能力包括数据采样和数据理解,进而在数据上执行转换。上述功能是通过使用PROSE(Program Synthesis Using Examples,一种通过示例准备数据的技术)提供的。
Microsoft Cognitive服务
Microsoft还宣布了升级了Cognitive Services平台,其中提供Text Analytics服务的一般可用版(GA)。Text Analytics服务支持开发人员做情感分析,以及从文本中检测关键短语、话题和语言。
更多资讯>>> 未发布 Essential Studio for JavaScript发布2017 v2,扩展企业Web开发界限
Essential Studio for JavaScript发布2017 v2版本,扩展了企业Web开发的界限。
所有JavaScript控件通用
Aurelia
添加框架导航,以便轻松浏览Aurelia Syncfusion Bridge,其中包含TypeScript,ASP.NET Core和ECMAScript Next(esnext)的框架。
支持Angular
Essential Studio for Angular现在支持提前(AOT)编译。
Ionic 2
Essential Studio for JavaScript现在支持Ionic 2,允许创建高性能的企业移动应用程序。并支持以下功能:
图表
饼状图系列
增加创建饼状图的新功能。

打印
支持打印图表。

改进轴元件配置
图表控件现在可以防止轴图元素(如标签和标题)放在图表区域内时,图表值越过轴的问题。

圆形表盘
图例
添加图例来表示圆形表盘中的范围。

图表
标签的模板选项
图表控件现在支持在HTML和SVG渲染模式中定义标签的模板内容。

PDF查看器
文本标记注释
文本标记注释(高亮、下划线和删除线)已添加到PDF查看器控件中。现在可以加载PDF文档,包括文本标记注释,并且可以编辑现有注释。

时间表
隐藏周末
周末可以隐藏在调度程序中,并在所有视图中只显示工作日。

拼写检查器
打字时检查拼写
当按下Enter键或空格键时,拼写检查器控件主动检查拼写错误。它还可以在选定的文本中检查错误。
使用“类”来检查多个目标
可以根据CSS类或ID来检查多个HTML元素(如div、span、textarea和input)。
检查内联框架中的拼写
拼写检查器控件允许检查内联框架(iframe)中的内容是否有拼写错误。
甘特图
导出PDF
甘特图内容现在可以导出为PDF。

自定义工具栏项目
甘特图控件现在支持自定义工具栏项目。

列表框
排序
现在可以按升序或降序自动排序列表项。

列表显示
虚拟滚动
添加正常模式和连续模式下的虚拟滚动支持,无需缓冲即可加载大量数据。

数据透视图表
分组标签
数据透视图表中的分组标签可以选择向上和向下拉取以提供详细的系列信息。

Pivot客户端
计算成员
Pivot客户端支持通过交互式对话框在运行时创建和显示维度和测度。

所有Pivot控件通用
Mondrian XML/A连接(客户端模式)
所有数据透视控件都可以通过不同版本的XML/A连接从Mondrian中检索多维数据,仅适用于客户端模式。
富文本编辑器
粘贴清理
从Word或网页(HTML)复制的内容将在粘贴到富文本编辑器时进行预处理,清理和格式化以获取正确的HTML。
树型网格
自适应渲染
树型网格控件的UI已经在移动环境中得到了改进。


对话框编辑
树型网格控件现在支持对话框编辑。


自定义工具栏
树型网格控件现在支持自定义工具栏。

列验证
记录在更新到数据库之前可以进行验证。

映射展开状态
初始加载时可以映射树形网格中记录的展开/折叠状态。
复选框列
树型网格支持通过Boolean数据显示复选框列。

未发布 FILEminimizer Office,FILEminimizer Suite和FILEminimizer Server常见问题FAQ合集(一)
1、我的序列号和注册信息都无法使用?
注册信息包括三部分:“序列号”,“字段 #1”以及“字段 #2”-要成功注册你的软件这些信息都是必须。
为了确保你的注册没有任何问题,请从发送给你的邮件中复制注册信息,然后粘贴到相应的注册字段。
请参考以下截图。
2、我忘记了我的注册信息和/或应用程序下载的链接,我怎么样才能重新找回它们?
请提供给我们您的Cleverbridge相关信息。这些信息包含在您完成采购的确认邮件里面,和您的发票上面。
请注意如果没有这些信息的话,balesio将会收取您恢复注册信息的费用。
3、我可以得到技术支持吗?
每个注册的balesio用户都可以得到我们的技术支持。然后,因为我们的销售和支持团队会收到大量的提问,所有回复这些提问的优先权由以下因素决定:
拥有有效Premium Pack的注册用户(包括所有的软件升级,更新和技术支持的年费)
注册用户
提一般支持问题的非注册用户
对于提出支持请求的注册用户,请提供给我们您的Cleverbridge相关信息。这个信息可以在你完成购买后的确认邮件中找到和您的发票信息中找到。
4、我的支持请求需要提供什么样的信息?
当报告问题时,请提供包括以下的信息:
如果要求的话,您能重现问题吗?如果可以,怎么重现?
你在运行哪个版本的Windows操作系统(Windows XP、Windows Vista等等)?
你在运行balesio哪个版本的软件和产品(Help | “About FILEminimizer Office”)?请在你的问题报告中包括完整的“version”。
如果对话框中出现了错误的信息,请提供包括对话框和标题栏的文本信息。
5、我可以压缩什么类型的PowerPoint文件?
您能优化微软PowerPoint 97至2010创建的任何版本的PowerPoint文件。FILEminimizer完全支持Office 2010所有的新格式文件(PPTX)。即便已创建为OpenOffice或StarOffice文件,只要它们被保存为微软PowerPoint格式,也是可以被优化的。
6、我可以压缩什么类型的Word文件?
您能优化微软Word 97至2010创建的任何版本的Word文件。FILEminimizer完全支持Office 2010所有的新格式文件(DOCX)。即便已创建为OpenOffice或StarOffice文件,只要它们被保存为微软Word格式,也是可以被优化的。
7、我可以压缩什么类型的Excel文件?
您能优化微软Excel 97至2010创建的任何版本的Excel表格。FILEminimizer完全支持Office 2010所有的新格式文件(XLSX)。即便已创建为OpenOffice或StarOffice文件,只要它们被保存为微软Excel格式,也是可以被优化的。
8、可作为哪个微软Outlook版本的插件?
Outlook 2000以后的都可作为插件。
9、可作为哪个IBM Lotus Notes版本的插件?
Lotus Notes 6.0以后的都可作为插件。
10、我压缩了我的文件,压缩后的文件很小,是怎么回事呢?
FILEminimizer优化图表,图片和包含在PowerPoint, Word 和 Excel文件中的嵌入对象。下面的一些因素可能解释压缩成小文件的结果:
你在你的PPT或PPS幻灯片中包含了音频或视频文件
你在大型的Excel表格上操作,这个表格包含了大量宏,但是却没包含图像,或少量的图像
你的文件被加密了和/或在优化的时候,它正在使用中
你正在设法优化已损坏或被破坏的文件
你正设法优化版本非常老的文件(Office 95或更早)
11、我不能通过“打包/发送”或“邮件文件”按钮来发送我的文件。
此功能是使用Windows操作系统中的MAPI接口。操作系统通过这个程序接口,进行数据的交互,并将其发送到适当的电子邮件软件。如果
您的电子邮件软件不支持此MAPI接口,您将得到一个错误信息。请检查您的电子邮件程序是否支持这个接口,并检查这个软件是否被指定
为Internet选项中默认电子邮件程序。
12、我能采用批处理方式对几个文件进行选择和优化吗?
是的,当然可以。可有不同的方式来实现:
通过Windows Explorer或FILEminimizer搜索功能对您此处的文件进行浏览
选择几个文件或直接用CTRL + A选择全部文件
右键单击选定的文件,并在菜单中选择“FILEminimizer”,将所有的兼容文件加载到FILEminimizer中
如果FILEminimizer是打开的,您可直接将文件“拖拽”到程序中
您也可以使用工具栏上的“打开”选项,在FILEminimizer中选择你的文件进行优化
未发布 3D造型引擎3D ACIS Modeling 发布2018.1.0版本 3D ACIS® Modeler (ACIS) 是 Spatial 久负盛名的 3D 造型引擎,为超过 350 种客户应用程序所采用,全球应用量超过 150 万套。ACIS 采用面向对象的开放 C++ 架构,拥有强大的 3D 造型能力。ACIS 集成了线框、曲面和实体造型的功能,支持流形和非流形拓扑,具备非常丰富的几何运算集,因此非常适用于构建具有混合造型功能的 3D 应用程序。
ACIS不仅具备非常完善的 3D 造型功能,而且灵活性强,可满足各种应用程序要求。此外,3D Modeling 的 ACIS 扩展功能还能满足特定的应用需求,其中包括隐藏线去除、可变形造型、高级遮盖和特征去除。
试用、下载、了解更多产品信息请点击"咨询在线客服"
未发布 MailBee.NET Objects接收电子邮件(POP3)教程二:接收和显示HTML电子邮件 MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
本文主要介绍了接收和显示HTML电子邮件(POP3)的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!
从POP3服务器下载整个邮件后,如上一个教程所示,开发人员可以管理可用的邮件主体。例如,当邮件没有HTML格式的主体时,开发人员可以配
置邮件解析器以从纯文本正文中创建HTML格式的主体:
C#: msg.Parser.PlainToHtmlMode = PlainToHtmlAutoConvert.IfNoHtml; |
VB.NET: msg.Parser.PlainToHtmlMode = PlainToHtmlAutoConvert.IfNoHtml |
此外,开发人员可以指定影响邮件解析方式的选项。例如,下面的代码指定了当纯文本正文被自动转换为HTML格式的主体时,包含在邮件纯文本
主体中的所有URI都应该被更改为相应的链接:
C#: msg.Parser.PlainToHtmlOptions = PlainToHtmlConvertOptions.UriToLink; |
VB.NET: msg.Parser.PlainToHtmlOptions = PlainToHtmlConvertOptions.UriToLink |
由于邮件解析器已配置,开发人员应调用Apply方法应用更改:
VB.NET: msg.Parser.Apply() |
解析的邮件的HTML主体内容可以使用Web浏览器控件轻松显示,如下所示:
C#: webBrowser1.DocumentText = msg.BodyHtmlText; |
VB.NET: webBrowser1.DocumentText = msg.BodyHtmlText |
请注意,WebBrowser控件仅在Visual Studio 2005和更高版本中可用。因此,上述代码将不会在早期版本的Visual Studio.NET中运行。
示例代码:
以下示例从指定邮箱中下载最后一条消息,从纯文本正文中生成HTML邮件主体,并显示此消息的HTML主体。
在使用MailBee.NET Objects之前,请确保它已解锁。
请将对MailBee.NET.dll的引用添加到应用程序中,然后在代码顶部添加以下行以允许在应用程序中使用MailBee.NET Objects:
C#: using System; using MailBee; using MailBee.Pop3Mail; |
VB.NET: Imports System Imports MailBee Imports MailBee.Pop3Mail |
然后在Visual Studio 2005中创建一个新表单,并将Button和WebBrowser控件放在此表单上。设置以下代码在按钮点击事件上运行:
C#: Pop3 pop = new Pop3(); try { pop.Connect("mail.domain.com"); pop.Login("login", "password"); Console.WriteLine("Successfully logged in."); } catch(MailBeePop3LoginNegativeResponseException e) { Console.WriteLine("POP3 server replied with a negative response at login."); } MailMessage msg = pop.DownloadEntireMessage(pop.InboxMessageCount); msg.Parser.PlainToHtmlMode = PlainToHtmlAutoConvert.IfNoHtml; msg.Parser.PlainToHtmlOptions = PlainToHtmlConvertOptions.UriToLink; msg.Parser.Apply(); WebBrowser1.Text = msg.BodyHtmlText; try { pop.Disconnect(); Console.WriteLine("Disconnected successfully."); } catch { Console.WriteLine("Disconnection failed."); } |
VB.NET: Dim pop As Pop3 = New Pop3() Try pop.Connect("mail.domain.com") pop.Login("login", "password") Console.WriteLine("Successfully logged in.") Catch e As MailBeePop3LoginNegativeResponseException Console.WriteLine("POP3 server replied with a negative response at login.") End Try Dim msg As MailMessage = pop.DownloadEntireMessage(pop.InboxMessageCount) msg.Parser.PlainToHtmlMode = PlainToHtmlAutoConvert.IfNoHtml msg.Parser.PlainToHtmlOptions = PlainToHtmlConvertOptions.UriToLink msg.Parser.Apply() WebBrowser1.Text = msg.BodyHtmlText Try pop.Disconnect() Console.WriteLine("Disconnected successfully.") Catch Console.WriteLine("Disconnection failed.") End Try |
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。
未发布 微软免费的开源代码编辑器Visual Studio Code 1.17新增多项功能 微软在2017年9月发布的免费开源代码编辑器Visual Studio Code(v1.17)进行了一些重要的更新。支持将区域标记带入代码折叠,并提升内置终端的性能。
通过代码折叠,开发人员可以使用行号之间的折叠图标和一行代码的开始来隐藏源代码区域。区域标记允许您使用注释来精确指定可折叠块的开始和结束位置。目前已经为TypeScript、JavaScript、C和C ++、C#、F#、PowerShell和Visual Basic定义了标记。
1.17版本也是一款基于画布的渲染引擎,具有集成终端功能,可根据情况将渲染从5提升到45倍。微软表示:“这种改变减少了输入延迟、功耗,并显着提高了终端的帧速率。”集成终端可以节省开发人员的时间,不必切换窗口或更改现有终端状态,以便快速执行命令行任务。
Visual Studio Code现在有一个源代码管理提供程序,提供了多个可以由SCM提供程序提供的存储库的概述。例如,Git存储库可以与Microsoft Team Foundation Server工作区并排维护。用户可以利用Ctrl+单击或Shift单击功能来选择多个存储库,这些存储库显示为拆分视图。
对于Mac用户来说,Visual Studio Code1.17增加了在MacOS Touch Bar中显示操作的支持。可以在编辑器历史记录中导航并控制调试器。此外,扩展项可以用于通过touchBar菜单标识符向Touch Bar添加命令。同时也为MacOS Sierra添加了本地窗口选项卡的支持。
最后,Visual Studio Code现在为Java开发人员提供了新的在线文档。Java调试最近通过扩展添加到了Visual Code中。
有关Visual Studio的更多信息,请参阅慧都控件网Visual Studio。