



| Private Sub Form_Load() EDOffice1.OpenFileDialog'EDOffice1.OpenWord “d:\ test.xlsx” 'EDOffice1.Open“d:\ test.xls”,“Excel.Application” End Sub |
| Private Sub EDOffice_DocumentOpened() EDOffice1.ProtectDoc 1'XlProtectTypeNormal End Sub |
| 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); |
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 |





| Public Class Form1 Private Sub btnNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNew.Click If Dialog1.ShowDialog() Then If Dialog1.GetChooseType() = 1 Then AxEDOffice1.CreateNew("Word.Application") ElseIf Dialog1.GetChooseType() = 2 Then AxEDOffice1.CreateNew("Excel.Application") ElseIf Dialog1.GetChooseType() = 3 Then AxEDOffice1.CreateNew("PowerPoint.Application") ElseIf Dialog1.GetChooseType() = 4 Then AxEDOffice1.CreateNew("Visio.Application") ElseIf Dialog1.GetChooseType() = 5 Then AxEDOffice1.CreateNew("MSProject.Application") End If End If End Sub Private Sub btnOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpen.Click AxEDOffice1.OpenFileDialog() End Sub Private Sub btnSaveAs_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSaveAs.Click AxEDOffice1.SaveFileDialog() End Sub Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click AxEDOffice1.CloseDoc() End Sub Private Sub btnPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrint.Click AxEDOffice1.PrintDialog() End Sub Private Sub btnPreview_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPreview.Click AxEDOffice1.PrintPreview() End Sub Private Sub btnToolbars_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnToolbars.Click If AxEDOffice1.Toolbars = True Then AxEDOffice1.Toolbars = False Else AxEDOffice1.Toolbars = True End If End Sub Private Sub btnAbout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAbout.Click AxEDOffice1.AboutBox() End Sub End Class |


| public void Open() { axEDOffice1.Open(sPath,“Excel.Application”); axEDOffice1.Open(sPath,“PowerPoint.Application”); axEDOffice1.Open(sPath,“Visio.Application”); axEDOffice1.Open(sPath,“MSProject.Application”); } |
Imports Microsoft.Office.Interop.Word Private Sub Automating_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)Handle Automating.Click Dim word = AxEDOffice1.GetApplication() word.Visible = True Dim doc As Document = AxEDOffice1.ActiveDocument() Dim range As Range = doc.Range range.InsertAfter(“Range1”+ vbCrLf) range.Collapse(WdCollapseDirection.wdCollapseEnd) doc.Bookmarks.Add(“MijnBookmark”,range) range.InsertAfter(“Range2”+ vbCrLf) Dim bookmark As Bookmark = doc。书签(1) range = bookmark.Range range.Text =“Bookmark”+ vbCrLf range.Font.Color = WdColor.wdColorBlue End Sub |
C#: MailBee.SmtpMail.Smtp.QuickSend("from@me.com", "to@you.com", "Subject", "Message Body"); |
VB.NET: MailBee.SmtpMail.Smtp.QuickSend("from@me.com", "to@you.com", "Subject", "Message Body") |
C#: MailBee.SmtpMail.Smtp.QuickSend("From Me (Company Info)", "To you ", "Subject", "Plain text body", "HTML-formatted body", null, @"C:\My Documents\report.doc"); |
VB.NET: MailBee.SmtpMail.Smtp.QuickSend("From Me (Company Info)", _ "To you ", _ "Subject", "Plain text body", _ "«html»HTML-formatted body«/html»", _ Nothing, "C:\My Documents\report.doc") |
C#: Smtp oMailer = new Smtp(); |
VB.NET: Dim oMailer As New Smtp() |
C#: oMailer.SmtpServers.Add("smtp.domain.com"); |
VB.NET: oMailer.SmtpServers.Add("smtp.domain.com") |
C#: oMailer.SmtpServers.Add("127.0.0.1"); |
VB.NET: oMailer.SmtpServers.Add("127.0.0.1") |
C#: oMailer.SmtpServers.Add("smtp.domain.com","login","password"); |
VB.NET: oMailer.SmtpServers.Add("smtp.domain.com","login","password") |
C#: oMailer.SmtpServers.Add("127.0.0.1","login","password"); |
VB.NET: oMailer.SmtpServers.Add("127.0.0.1","login","password") |
C#: oMailer.From.AsString = "Dan Brown (Company Info)"; |
VB.NET: oMailer.From.AsString = "Dan Brown (Company Info)" |
C#: oMailer.From.AsString = "Dan Brown "; |
VB.NET: oMailer.From.AsString = "Dan Brown " |
C#: oMailer.From.AsString = "dan@domain.com"; |
VB.NET: oMailer.From.AsString = "dan@domain.com" |
C#: oMailer.To.AsString = "Bill Smith (Remarks), Kathy@mail.com "; oMailer.Cc.AsString = "Joe Black , Joseph "; oMailer.Bcc.AsString = "t.jay@domain.com, s.connor@domain.com"; oMailer.ReplyTo.AsString = "john@domain.com, Barbara Jones "; |
VB.NET: oMailer.To.AsString = "Bill Smith (Remarks), Kathy@mail.com " oMailer.Cc.AsString = "Joe Black , Joseph " oMailer.Bcc.AsString = "t.jay@domain.com, s.connor@domain.com" oMailer.ReplyTo.AsString = "john@domain.com, Barbara Jones " |
C#: oMailer.Subject = "Test message"; |
VB.NET: oMailer.Subject = "Test message" |
C#: oMailer.BodyPlainText = "This is a test e-mail message."; |
VB.NET: oMailer.BodyPlainText = "This is a test e-mail message." |
C#: oMailer.BodyHtmlText = @" Test HTML message.
www.afterlogic.com"; |
VB.NET: oMailer.BodyHtmlText = " Test HTML message. " & vbCrLf & _ "" & vbCrLf & _ " " & vbCrLf & _ " " & vbCrLf & _ "www.afterlogic.com" |
C#: oMailer.AddAttachment(@"C:\annual_reoprt.xls"); oMailer.AddAttachment(@"C:\deposits.doc"); |
VB.NET: oMailer.AddAttachment("C:\annual_reoprt.xls") oMailer.AddAttachment("C:\deposits.doc") |
C#: try { oMailer.Send(); Console.WriteLine("The message has been successfully sent."); } catch (MailBeeSmtpRefusedRecipientException e) { Console.WriteLine("The following recipient was refused by SMTP server: " + e.RefusedRecipientEmail); } |
VB.NET: Try oMailer.Send() Console.WriteLine("The message has been successfully sent.") Catch e As MailBeeSmtpRefusedRecipientException Console.WriteLine("The following recipient was refused by SMTP server: " + e.RefusedRecipientEmail) End Try |
C#: using System; using MailBee; using MailBee.SmtpMail; namespace EmailApp { class Class1 { [STAThread] static void Main(string[] args) { Smtp oMailer = new Smtp(); oMailer.From.AsString = "John Doe (Company Info)"; oMailer.To.AsString = "Bill Smith , Kathy Ritchie (Company Info)"; oMailer.Subject = "Test e-mail"; oMailer.BodyPlainText = "This is a test e-mail message."; oMailer.BodyHtmlText = @" Test HTML message.
www.afterlogic.com"; oMailer.AddAttachment(@"C:\annual_reoprt.xls"); oMailer.SmtpServers.Add("127.0.0.1", "login", "password"); oMailer.SmtpServers[0].AllowRefusedRecipients = false; try { oMailer.Send(); Console.WriteLine("The message has been successfully sent."); } catch (MailBeeSmtpRefusedRecipientException e) { Console.WriteLine("The following recipient was refused by SMTP server: "+ e.RefusedRecipientEmail); } } } } |
VB.NET: Imports System Imports MailBee Imports MailBee.SmtpMail Namespace EmailApp Class Class1 _ Shared Sub Main(ByVal args() As String) Dim oMailer As New Smtp() oMailer.From.AsString = "John Doe (Company Info)" oMailer.To.AsString = "Bill Smith , Kathy Ritchie (Company Info)" oMailer.Subject = "Test e-mail" oMailer.BodyPlainText = "This is a test e-mail message." oMailer.BodyHtmlText = " Test HTML message. " & vbCrLf & _ "" & vbCrLf & _ " " & vbCrLf & _ " " & vbCrLf & _ "www.afterlogic.com" oMailer.AddAttachment("C:\annual_reoprt.xls") oMailer.SmtpServers.Add("127.0.0.1", "login", "password") oMailer.SmtpServers(0).AllowRefusedRecipients = False Try oMailer.Send() Console.WriteLine("The message has been successfully sent.") Catch e As MailBeeSmtpRefusedRecipientException Console.WriteLine("The following recipient was refused by SMTP server: "+ e.RefusedRecipientEmail) End Try End Sub End Class End Namespace |
C#: Smtp mailer = new Smtp(); VB.NET: Dim mailer As New Smtp()
C#:
mailer.SmtpServers.Add("mail.domain.com");
VB.NET:
mailer.SmtpServers.Add("mail.domain.com")mailer.SmtpServers.Add("mail.domain.com", "jdoe", "secret");
VB.NET:
mailer.SmtpServers.Add("mail.domain.com", "jdoe", "secret")C#:
mailer.Message.From.AsString = "jdoe@domain.com";
mailer.Message.To.AsString = "bill@domain.com";
mailer.Message.Subject = "Hi";
mailer.Message.BodyPlainText = "Hello Bill";
mailer.Message.From.AsString = "John Doe ";
mailer.Message.To.AsString = "Bill (Company Inc), Kathy ";
mailer.Message.Subject = "The document";
mailer.Message.BodyHtmlText = "The document body";
mailer.Message.From.Email = "jdoe@domain.com";
mailer.Message.From.DisplayName = "John Doe";
mailer.Message.To.AsString = "Kathy ";
mailer.Message.Cc.Add("bill@domain.com", "Bill Smith");
mailer.Message.Subject = "News";
mailer.Message.BodyPlainText = "News body";VB.NET:
mailer.Message.From.AsString = "jdoe@domain.com"
mailer.Message.To.AsString = "bill@domain.com"
mailer.Message.Subject = "Hi"
mailer.Message.BodyPlainText = "Hello Bill"
mailer.Message.From.AsString = "John Doe "
mailer.Message.To.AsString = "Bill (Company Inc), Kathy "
mailer.Message.Subject = "The document"
mailer.Message.BodyHtmlText = "The document body"
mailer.Message.From.Email = "jdoe@domain.com"
mailer.Message.From.DisplayName = "John Doe"
mailer.Message.To.AsString = "Kathy "
mailer.Message.Cc.Add("bill@domain.com", "Bill Smith")
mailer.Message.Subject = "News"
mailer.Message.BodyPlainText = "News body"C#: mailer.Send(); VB.NET: mailer.Send()
基于浏览器的客户端图像浏览器Prizm ActiveX Viewer在线订购专享8折!
流行的数据库管理系统(DBMS)Oracle MySQL 中发现了被称为“The Riddle”的编码漏洞,该漏洞允许攻击者利用MiTM(man-in-the-middle,中间人)来窃取用户的用户名和密码等登录凭证。用户请立即更新到5.7版本。
MiTM 攻击(Man-in-the-MiddleAttack)是一种“间接”的入侵攻击,这种攻击模式是通过各种技术手段将受入侵者控制的一台计算机虚拟放置在网络连接中的两台通信计算机之间,这台计算机就称为“中间人”。例如SMB会话劫持、DNS欺骗等攻击都是典型的MITM攻击。
Riddle漏洞是Oracle MySQL 5.5和5.6客户端数据库中发现的关键安全漏洞。该漏洞允许攻击者使用‘中间人攻击’来破坏MySQL客户端和服务器之间的SSL配置连接。这个漏洞是一个非常关键的安全漏洞,因为它影响到MySQL(一个非常流行的SQL数据库,SSL连接由其定义安全。)
该漏洞编号为“CVE-2017-3305”,可以潜在地将用户登录凭证暴露给攻击者,当MySQL客户端5.5和5.6将这些用户凭证信息发送到服务器时,攻击者就能够顺利捕获它们。
针对5.5.49和5.6.30版本发布的安全更新无法完全解决这一安全漏洞。5.7及更高版本以及MariaDB系统不受该安全问题的影响。

根据安全研究人员 Pali Rohár 所言,他们曾经尝试利用影响MySQL数据库的BACKRONYM漏洞的修补方式来修复Riddle漏洞,但是结果失败了。Backronym漏洞也同Riddle漏洞一样,允许攻击者运行中间人攻击来窃取用户登录凭证,即使流量已经被加密也无法阻止。
MySQL 5.5.49以及5.6.30 稳定版的安全更新包括在验证过程完成后添加安全参数的验证。因为验证完成后,攻击者可以使用中间人攻击与 SSL 降级攻击来窃取用户的登录数据,以便立即进行身份验证并登录 MySQL 服务器,可笑的部分是,MySQL 客户端不会在MySQL服务器拒绝验证用户时报告任何与 SSL 问题相关的错误,而是报告服务器发送的未加密的错误信息。此外,当中间人攻击处于活跃状态时,错误信息可以由攻击者控制。
安全专家建议用户尽快将客户端软件更新到MySQL 5.7 或 MariaDB,因为这些应用程序的安全更新正在正常运行,未受该安全漏洞影响。需要注意的是,这个漏洞虽然早在今年2月份就已经发现了,但是目前仍然在影响Oracle MySql软件。
如果你不是Oracle 用户,那么你对他们报告安全漏洞是无用的(即使确实是与安全相关的漏洞)。他们可以完全无视这些安全报告,甚至希望任何人都不要知道这些报告和漏洞的存在,所以至此他们都没有对漏洞进行修复。所以,立即向用户公开披露这些安全漏洞看来是最有效的解决方案,因为这样可以让用户知道一旦受影响应该做什么,有效的保护用户数据安全。
试用、下载、了解更多产品信息请点击"咨询在线客服"
Xamarin Studio是跨平台移动开发(IDE)利器。Xamarin Studio是一个开发效率很高的移动开发工具,开发者可以轻松查看iOS、Android和OS X APIs,快速查询类型、方法和API功能,而且不会打乱你的思路。








jQWidgets是一个基于jQuery JavaScript的综合性和创新性的HTML5 UI组件库,旨在帮助开发者创建专业、跨平台的Web应用程序,并最大限度的节省开发时间。jQWidgets包含30多种UI组件,是最快的JavaScript UI框架之一。

