OurJS


OurJS-我们的JS, 我们的技术-IT文摘; 专注JS相关领域;
我们热爱编程, 我们热爱技术;我们是高大上, 有品味的码农;

欢迎您订阅我们的技术周刊


我们会向您分享我们精心收集整理的,最新的行业资讯,技术动态,外文翻译,热点文章;
我们使用第三方邮件列表向您推送,我们不保存您的任何个人资料,注重您的隐私,您可以随时退订,

欢迎分享您的观点,经验,技巧,心得

让我们一起找寻程序员的快乐,探索技术, 发现IT人生的乐趣;


本网站使用缓存技术每次加载仅需很小流量, 可在手机中流畅浏览;
如果您发现任何BUG,请即时告知我们: ourjs(at)ourjs.com

Harriet666

Essential Studio for Xamarin更新2017 v2,新增sunburst图表控件丨附下载

分享 by Harriet666 1495012101440
Essential Studio for Xamarin是全面的Xamarin.iOS、Xamarin.Android和Xamarin.Forms组件套包,包含最快的图表和网格。Essential Studio for Xamarin更新至2017 v2版本,新增sunburst图表控件和许多其他功能。
 

Essential Studio for Xamarin 2017 v2新功能


sunburst图表

sunburst图表对于可视化分层数据非常有用。中心圆表示结构的根,外圈表示结构的更高级别。

主要特征

  • 可视化分层数据
  • 数据标签更易懂
  • 支持图例
  • 自定义色彩

6ed4e6fc8b2847748c0705c24fb07bbdojpg

新的图像编辑器

增加了一个新的图像编辑器,包含以下功能:
  • 图像裁剪
  • 文字和形状的图像注释
  • 图像旋转和翻转
  • 用于自定义的交互式工具栏

499a8e0352954ff789caad7efd651106ojpg

列表显示

自动适应

列表项目可以根据内容自动调整,并且在进入视图时可按需查询每个项目的大小。

5064cc07100c40bfab578c9ec6d70232ojpg

实时更新

在运行时对底层执行移动和替换操作时自动刷新视图。


PDF查看器(预览)

文本搜索

搜索文本功能已经添加到XAMarin.Forms的PDF查看器中,允许用户在PDF文档中查找搜索文本实例。

1f8ec9c828124530a8c208a02fce1c2cojpg

演示

注释功能

可以在PowerPoint演示文稿中创建和修改注释。

2919c162e2ac4764b082aac58ef2de95ojpg

 

数据网格

表格摘要

数据网格控件支持在视图的顶部或底部显示表格摘要信息。

2f1e53700a1545e7987cd34b7070918dojpg

数据模板选择器

数据网格控件支持模板列中的数据模板选择器,并根据用户的需要自定义单元格模板。

dac10c22111d4d319e5bb3f7f2cce4efojpg

调整大小

数据网格控件支持调整大小功能,允许在平移或平移完成时调整列的大小。

fdaa8b97d07f44dfb10d60acd6dd1038ojpg

计划表

性能改进

控制性能提升以便处理大量的计划。加载性能也得到改善,以便在运行时更改计划视图时提供更好的体验。

MailBee.NET Objects发送电子邮件(SMTP)教程六:创建并发送带有附件的邮件

分享 by Harriet666 1494926381612
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
 
 
本文主要介绍了如何使用MailBee.NET Objects创建并发送带有附件的邮件的代码示例。欢迎您下载试用版进行运用!

要将文件附加到邮件中,请使用以下代码:
C#:
Smtp mailer = new Smtp();
mailer.AddAttachment(@"C:\My Documents\Report.xls"); 
VB.NET:
Dim mailer As New Smtp()
mailer.AddAttachment("C:\My Documents\Report.xls")
 
Smtp.AddAttachment方法实际上是Smtp.Message.Attachments.Add方法的调用。开发人员可以使用该Add方法从其他源(内存阵列、流、转发的电子邮件、特定类型的附件等)中添加附件。高级重载还允许你指定附件的显示名称和其他参数。
 
例如,以下代码可用于添加名为B4DVIS9H.TMP的文件,并在消息中显示为“Annual report.doc”:
C#:
mailer.Message.Attachments.Add(@"C:\DataFiles\B4DVIS9H.TMP", "Annual report.doc");
VB.NET:
mailer.Message.Attachments.Add("C:\DataFiles\B4DVIS9H.TMP", "Annual report.doc")
 
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。

MailBee.NET Objects发送电子邮件(SMTP)教程五:发送带有嵌入图片的网页和HTML邮件

分享 by Harriet666 1494839413968
 
为了发送带有嵌入对象的电子邮件,开发人员应该使用SMTP object。首先,开发人员应该按照【MailBee.NET Objects发送电子邮件(SMTP)教程一】中所述指定SMTP对象的所有必要属性。
 
如果HTML格式的邮件没有任何嵌入对象,开发人员可以使用SMTP.BodyHtmlText属性或SMTP.Message.LoadBodyText方法来设置邮件正文。
 
SMTP.BodyHtmlText属性允许开发人员直接分配邮件正文,如下所示:
C#:
oMailer.BodyHtmlText = @"
Test HTML message.



        
       


        This is a test HTML mes-sage.
       


       



        www.afterlogic.com";     
VB.NET:
oMailer.BodyHtmlText = "
Test HTML message.


" & vbCrLf & _
        "" & vbCrLf & _
        "

" & vbCrLf & _
        "This is a test HTML mes-sage." & vbCrLf & _
        "

" & vbCrLf & _
        "


" & vbCrLf & _
        "www.afterlogic.com"
 
也可以使用SMTP.Message.LoadBodyText方法。在这种情况下,开发人员可以从指定的URI中加载消息,如下所示:
C#:
oMailer.Message.LoadBodyText(@"http://www.domain.com/index.htm", MessageBodyType.Html);  
VB.NET:
oMailer.Message.LoadBodyText("http://www.domain.com/index.htm", MessageBodyType.Html)
 
或者
C#:
oMailer.Message.LoadBodyText(@"C:\Temp\saved_web_page.htm", MessageBodyType.Html);     
VB.NET:
oMailer.Message.LoadBodyText("C:\Temp\saved_web_page.htm", MessageBodyType.Html)

否则,开发人员应该调用SMTP.Message.LoadBodyText方法来编写一个包含嵌入对象(图像,音频或视频)的消息。以下示例将邮件正文加载为默认编码以及指定URI中的所有相关文件:
C#:
oMailer.Message.LoadBodyText(@"http://www.domain.com/index.htm ", 
                MessageBodyType.Html,
                Encoding.Default, ImportBodyOptions.ImportRelatedFiles|
                ImportBodyOptions.ImportRelatedFilesFromUris);       
VB.NET:
oMailer.Message.LoadBodyText("http://www.domain.com/index.htm ", _
                MessageBodyType.Html, _
                Encoding.Default, ImportBodyOptions.ImportRelatedFiles Or _
                ImportBodyOptions.ImportRelatedFilesFromUris)
 
请注意:在使用SMTP.Message.LoadBodyText方法时,所有相关文件将被添加到邮件中。
 
代码示例:
该示例从拥有嵌入对象的现有网页中创建新邮件并发送。在使用MailBee.NET Objects之前,请确保它已解锁。
C#:
using System;
using System.Text;
using MailBee;
using MailBee.SmtpMail;
using MailBee.Mime;
namespace EmailApp
{
    class Class1
    {
        [STAThread]
        static void Main(string[] args)
        {
            Smtp oMailer = new Smtp();
            oMailer.To.AddFromString("Bill Smith ");
            oMailer.From.AsString = "John Doe (Company Info)";
            oMailer.Subject = "Test web page";
            oMailer.Message.LoadBodyText(@"http://www.domain.com/index.htm", MessageBodyType.Html, Encoding.Default, 
ImportBodyOptions.ImportRelatedFiles | ImportBodyOptions.ImportRelatedFilesFromUris);
            try
            {
                oMailer.Send();
                Console.WriteLine("The message has been successfully sent.");
            }
            catch (MailBeeSmtpMessageSizeOutOfRangeException e)
            {
                Console.WriteLine("The message is too large (more than " + e.MaxAllowedMessageSize + " bytes).");
            }
        }
    }
}
VB.NET:
Imports System
Imports System.Text
Imports MailBee
Imports MailBee.SmtpMail
Imports MailBee.Mime
 
Namespace EmailApp
    Class Class1
        
        Shared  Sub Main(ByVal args() As String)
            Dim oMailer As Smtp =  New Smtp() 
 
            oMailer.To.AddFromString("Bill Smith ")
 
            oMailer.From.AsString = "John Doe (Company Info)"
 
            oMailer.Subject = "Test web page"
 
            oMailer.Message.LoadBodyText("http://www.domain.com/index.htm", MessageBodyType.Html, Encoding.Default, 
ImportBodyOptions.ImportRelatedFiles | ImportBodyOptions.ImportRelatedFilesFromUris)
 
            Try
                oMailer.Send()
                Console.WriteLine("The message has been successfully sent.")
            Catch e As MailBeeSmtpMessageSizeOutOfRangeException
                Console.WriteLine("The message is too large (more than " + e.MaxAllowedMessageSize + " bytes).")
            End Try
        End Sub
    End Class
End Namespace
 
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。

FileAudit v5.2发布,支持Windows Server 2016

分享 by Harriet666 1494838989979
FileAudit可用于对Windows服务器上文件和文件夹的所有访问进行主动跟踪、审核、报告和警告。
 
 
FileAudit v5.2新功能

检测并显示设备名称

除了IP地址之外,FileAudit v5.2还可以显示用户通过网络访问文件/文件夹的设备名称。该功能加强了对任何访问的识别,帮助识别潜在的可疑活动。
使用FileAudit的过滤功能可以从特定机器名称中查看每个访问列表。管理员可以在“File access view”中应用该准则。也可以将设备名称定义为选定的标准:
  • 触发特定的访问警报
  • 定期报告

 

过滤Active Directory Group的访问事件

FileAudit v5.2引入了一个新的过滤条件,可以让你专注于一个或多个Active Directory Group的访问事件。
在FileAudit控制台中,浏览并识别Active Directory Group以配置警报、计划报告或在“File Access Viewer”中作为条件应用。
组过滤器可用于排除或增加组成员。
包含示例
7eb8694aa460413e956c1181e31b59b4ojpg
排除示例
174ccbf4c821415ab3aad905e340d5a3ojpg
包含+排除示例
81df27c2ff8440cbb68671bc666464a0ojpg


按对象类型过滤访问事件

使用FileAudit v5.2,管理员可以选择区分文件和文件夹。
你可以在“File access view”中应用此条件。或者,可以在配置任何访问警报或调度访问报告时使用它。
此优化可以让你的的审计跟踪更有意义。
cf771f7b91884bab829c2dce5b9b4e13ojpg
 

出现新的FileAudit Service事件的情况下发送电子邮件通知

接收关于FileAudit Service问题的电子邮件警报。
确定要通知的警报类型:错误、警告和信息。
a5000722a2fd4cc68bfb3f133e6941f3ojpg
 

检测服务器停滞情况并发出警告

当FileAudit在特定服务器上连续三天以上没有监视文件访问事件时,警告管理员。该警报都在FileAudit控制台上,并通过电子邮件发送。
该功能可以突出显示需要解决的问题 - 例如,如果对象访问审核策略停止,那么NTFS审核配置将被删除、安全日志损坏或配置错误。
 

支持Windows Server 2016

FileAudit v5.2支持Windows Server 2016。

Xamarin for Visual Studio v4.5发布,重新设计Property Pages和Manifests

分享 by Harriet666 1494581303548
Xamarin for Visual Studio 让开发者可以在Windows上用 Visual Studio 开发原生 iOS, Android 和Windows应用程序。Xamarin for Visual Studio提供了流畅的iOS和Android的API查询,让开发者专注于应用本身。更棒的是,开发者完全可以利用一切他熟悉的开发工具进行开发,从而保证项目的高效性和持续性。

Xamarin for Visual Studio点击下载>>>

V4.5版本中包含的功能:


重新设计Property Pages和Manifests

在Xamarin 4.5中,我们重新设计了Property Pages和Manifest编辑器。为了与Visual Studio本身和Visual Studio for Mac保持一致性,新的属性页面进行了重组和简化并支持高DPI显示。现在,你可以继续在Property Pages中编辑csproj选项,并Manifest编辑器显示manifest选项。
 
新的iOS项目属性页面
新的iOS属性页面提供存储在正确构建和运行项目所需的csproj文件中的所有选项。新的设计方式使之更简单有效。

更好的iOS Info.plist Manifest编辑器
我们的iOS Manifest编辑器(info.plist)现在是一个独立的编辑器,你可以通过双击info.plist文件来启动。它有一个体验非常好的UI,用户可以轻松浏览并保持熟悉的外观。
它包括APP版本、支持定向、状态栏样式、视觉资源、游戏中心、地图集成或背景模式等功能的编辑器,以及编辑文档类型,UTI和URL类型等高级功能。
 
新的Android项目属性页面
重新设计了Android项目选项页面!拥有你需要的所有选项的简化设计。
高级Android选项已经分组到单独的对话框中,你可以通过按“选项”页面上的“高级”按钮打开该对话框。

Bug修复

此版本包括以下修复程序:

  • 修复iOS/tvOS/watchOS设备专用版本的调试问题。(4.5.0.440)
  • 改进了Bonjour SSH。(4.5.0.440)
  • OpenGL游戏(Android)模板现在使用OpenTK-1.0。(4.5.0.440)
  • Android Archive Manager现在使用区域设置来显示存档日期。(4.5.0.440)
  • 修复了二级iOS参考调试。(4.5.0.415)
  • 创建F# Blank Android项目的错误。(4.5.0.415)
  • 如果要禁用属性页上的控件,请确保工具提示可见。(4.5.0.415)
  • 在检查“Build iTunes Package Archive (IPA)”之后,仍然无法创建IPA。(4.5.0.415)
  • Analyze-Xamarin Profiler选项在某些配置中被禁用。(4.5.0.415)
  • 添加几个缺少的工具提示和Android属性页面的帮助链接。(4.5.0.415)
  • 为tvOS / watchOS扩展项目添加Enable Bitcode选项。(4.5.0.415)
  • 如果解决方案中包含共享项目,则无法打开iOS Manifest编辑器。(4.5.0.415)
  • 无法在tvOS或watchOS项目中引用PCL。(4.5.0.387)
  • 为iOS Manifest编辑器添加了工具提示。(4.5.0.387)
  • 改进F#模板。(4.5.0.387)

Edraw Office Viewer component教程(三):将MS Word、Excel、PowerPoint嵌入到WPF应用程序中

分享 by Harriet666 1494580929229
如何将Word、Excel、PowerPoint嵌入WPF应用程序?大部分人应该都记得可以将Excel图表嵌入到Word文档中的OLE技术,但该技术并不支持所有的Microsoft Office文档。它不支持表单中的多个MS Word实例。而Edraw office viewer component对于开发人员可以说是最简单的可以将Word文档、Excel工作表、PowerPoint演示文稿嵌入到WPF应用程序中的解决方案。
 
本文将演示如何逐步嵌入MS Word到wpf应用程序中。如果你没有officeviewer.ocx文件,请先安装。在组件安装文件夹中,你还可以找到wpf示例项目。
打开Visual Studio并创建一个新的WPF应用程序。
右键单击WpfApplication1解决方案。然后单击“Add”菜单并选择“User Control...”。

wpf项目中将会增加一个新的窗体。
选择“User Control”项。不是“User Control(WPF)”项。
双击解决方案面板中的UserControl1.CS。
打开“工具箱”面板,然后单击菜单中的“ Choose Items...”。
在弹出的“Choose Toolbox Items”对话框中,选择“Edraw Office Viewer Component”,然后单击“确定”。
现在,Edraw Office Viewer Component已添加到工具箱的“常规”选项卡中。在UserControl窗体中拖动它。
通过Visual Studio将AxEDofficeLib和EDOfficeLib添加到该解决方案中。
输入打开word文档的C#代码,并保护word文档的修改如下所示:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WpfApplication1
{
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}
public void Open()
{
axEDOffice1.OpenFileDialog();
}
public void Protect()
{
if (axEDOffice1.GetCurrentProgID() == "Word.Application")
{
axEDOffice1.ProtectDoc(2);
}
}
public void Print()
{
axEDOffice1.PrintPreview();
}
public void Close()
{
axEDOffice1.ExitOfficeApp();
}
}
}

最后,你需要为UserControl编写主机窗口。切换到Windows1.xaml文件,然后添加打开、保护、打印和关闭的按钮,如图所示。

添加以下c#代码来关联office component。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace WpfApplication1
{
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
private void Open_Click(object sender, RoutedEventArgs e)
{
_host.Open();
}
private void Protect_Click(object sender, RoutedEventArgs e)
{
_host.Protect();
}
private void Print_Click(object sender, RoutedEventArgs e)
{
_host.Print();
}
private void Close_Click(object sender, RoutedEventArgs e)
{
_host.Close();
}
}
}

打开配置管理器。将Active Solution平台更改为x86选项。然后建立并运行。
Office Viewer component支持所有版本的MS Word。要将MS Excel或PowerPoint Visio、Project嵌入到WPF应用程序中,你只需要调用Open方法,如下所示:
public void Open()
{
//axEDOffice1.OpenFileDialog();
axEDOffice1.Open(sPath, "Word.Application");
axEDOffice1.Open(sPath, "Excel.Application");
axEDOffice1.Open(sPath, "PowerPoint.Application");
axEDOffice1.Open(sPath, "Visio.Application");
axEDOffice1.Open(sPath, "MSProject.Application");
}
 
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。

GIS软件开发工具包TatukGIS Developer Kernel更新至 v11.4.0-Unstable4

分享 by Harriet666 1494493928347
GIS定制开发首选控件,帮您轻松搞定高效、优质、实惠的GIS解决方案

TatukGIS Developer Kernel(DK)是一个用于开发自定义地理信息系统(GIS)应用程序以及解决方案的综合性软件开发工具包(SDK)。众所周知,构建一个庞大的地理信息系统需要花费大量的金钱和人力,而TatukGIS却是同类产品中性价比最高的控件,TatukGIS Developer Kernel DK因其功能强大,价格适中,已被超过 50个国家的个人、公司、以及政府等客户用来实现其地理信息系统解决方案。根据不同地首选开发环境,本产品分别以五个独立产品的形式提供(即VCL、.NET/WPF、ActiveX、Compact Framework和ASP.NET),各个产品使用相同的框架、应用程序编程接口(API)技术。
 
Version: 11.4.0-Unstable4

新功能:

  • [DK-9224]通过将最小值最大值映射到0..255(Core),以便更好地显示16位像素数据。
  • [DK-9137]实现Params.Pixel.RedMapZones、GrenMapsZones等,允许高于255并正确映射16位图像(Core)。

修复:

  • [DK-9220] TGIS_ControlLegendForm - 使用“应用”按钮两次会覆盖最后一节参数(DK,NDK)。
  • [DK-9211] TGIS_LayerPixel.Locate - 没有正确设置_nativesVals为64位(4波段)图像(Core)。

Edraw Office Viewer component教程(二):将Excel嵌入VB 6并使之自动化

分享 by Harriet666 1494475186338
Edraw office viewer component对于开发人员来说是一个将Microsoft Excel电子表格嵌入到vb.net应用程序中的简单可靠的解决方案。
 
使用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中,但隐藏在开发者功能区栏。
 
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。

Dynamic Web TWAIN新版预告:v13.0版本中的全新设计

分享 by Harriet666 1494386157218
在过去的14年中,Dynamsoft一直在努力创新和开发Dynamic Web TWAIN SDK,并在每年都有一次重大升级。今年,v13.0版本正在路上。现在让我们来看看这次新版本将带来的好处。

v13.0版本中的新设计


在v13.0版本中,SDK的结构有了新的设计。在设计新版本时,Dynamsoft主要考虑到以下目标:
  • 应该有一个核心服务作为所有模块的中心。

  • 该服务应该设计成:

              a、它很长一段时间内只需升级一次
              b、采用自动升级的方式
  • 独立模块应能够通过核心服务相互通信

  • 独立模块应能够通过核心服务共享数据

  • 使用哪些模块应由应用程序中使用的JavaScript文件决定

  • 所有模块都应自动升级,用户无需额外的操作

  • 每个模块都能够处理自身的JavaScript请求

下图显示了在v13.0版本中Dynamic Web TWAIN的新设计:

为什么会出现这个新设计?

在过去我们收到过很多投诉,例如:
  1. 只允许拥有一个版本,换句话说,你不能同时安装两个版本。
  2. 随着每次新版本的发布,客户会发现从旧版本升级到新版本的过程很困难。尽管Dynamsoft员工一直努力让这一过程尽可能的简单,但许多客户仍然觉得升级困难。关键的原因是在使用该产品时每个桌面上都需要重新安装该服务。
  3. SDK已经非常丰富了,包括不同的模块如条形码读取器、OCR模块,网络摄像头模块等。然而,SDK的旧结构使得这些模块只能以TWAIN模块为中心,导致结果是:
         a、难以独立使用模块。
         b、由于依赖TWAIN模块,因此无法单独升级一个或两个模块。

新设计的出现可以解决三个问题:
  1. 新版本可以与旧版本一起安装、实现共存。
  2. 从这个版本开始,Dynamsoft Service将成为中心。它只处理最基本和最核心的功能,并保持稳定。因此,安装之后就可以很少或无需再升级。
  3. 所有模块的安装和未来的升级将变得“安静”。换句话说,它们不再需要执行任何安装程序。相反,一旦文件在服务器上更新(新模块以及新的JavaScript文件),Service将以静默的方式下载并安装新模块。
  4. 所有模块都可以独立使用和升级了。
Dynamic Web TWAIN v13.0预计将于2017年6月发布,敬请期待!

Edraw Office Viewer component教程(一):将Microsoft Word嵌入VB.NET并使之自动化

分享 by Harriet666 1494316589819
Edraw office viewer component对于开发人员来说是一个将Microsoft Word文档嵌入到vb.net应用程序中的简单可靠的解决方案。
 
在VB.Net应用程序中嵌入word文档的最佳方法是什么?相信大多数人都记得OLE技术,它可以将Excel图表嵌入到Word文档中。使用Office XP Primary Interpol Assemblies或嵌入WebBrowser控件并导航到相应的Office文档等。但是所有这些技术都不支持完整的Microsoft Word功能。也有很多已知的错误。
 
本文将逐步介绍如何使用Edraw office viewer component在VB.NET应用程序中嵌入MS Word文件。如果你没有officeviewer.ocx文件,请先安装。

打开Visual Studio并创建一个新的VB.NET应用程序。
右键单击HostOffice解决方案。然后单击“Add Reference...”的选项。
 
在弹出的对话框中,从浏览选项卡中选择officeviewer.ocx文件。
 
或从COM选项卡中选择Edraw Office  Viewer Component。
单击确定。Edraw Office  Viewer Component引用此时已添加到新的vb.net项目中。
 
切换到Form1的Form设计窗口。
 
将Edraw Office Viewer Component从“工具箱”面板拖到form1中。

添加以下VB.NET代码来新建、打开、保存、关闭并打印一个word文档,如下所示:
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
 
打开配置管理器。将Active解决方案平台更改为x86选项。
 
然后创建VB.NET项目并开始运行。

The office viewer component支持MS Word 97、Word 2000、Word 2003、Word 2007、Word 2010。它可以在Windows 2000/Xp/Vista/2008/7的32位或64位操作系统上运行。将MS Excel或PowerPoint、Visio、Project嵌入到VB.NET应用程序中,只需要改变Open方法的第二个参数。如下所示:
public void Open()

axEDOffice1.Open(sPath,“Excel.Application”); 
axEDOffice1.Open(sPath,“PowerPoint.Application”); 
axEDOffice1.Open(sPath,“Visio.Application”); 
axEDOffice1.Open(sPath,“MSProject.Application”); 
}
 
有了word组件,在Visual Basic应用程序中使用COM实现Word自动化就会变得十分简单。从解决方案资源管理器引用中为Word Object Library 11.0添加引用。在这里我所用Word 2003,所以对象库的版本是11.0。
下面的示例代码显示了如何构建一个最小的文档,插入一个书签,并且在随后用文本更换空书签。
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
 
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。


分享到