Visual C++ ActiveX 控件承载 Visual Basic 或 HTML 中的 Office 文档

VB6数据导出Excel全攻略:6种方法详解与实战避坑指南 数据导出是软件开发中常见的功能需求,尤其在需要与Excel这类通用办公软件进行数据交换的场景下。其核心原理通常涉及数据格式转换与外部组件交互,旨在实现数据在不同系统间的无缝流转。从技术价值看,高效可靠的数据导出能力能极大提升用户体验和系统实用性,尤其在处理遗留系统或特定环境时。在应用场景上,无论是工业控制、财务系统还是内部管理平台,都可能面临将程序内数据导出至Excel进行分析或存档的需求。本文聚焦于在经典的VB6开发环境中,系统梳理并对比了包括CSV生成、自动化对象模型、ADODB直接保存、HTML表格及 阅读详情

DSO Framer ActiveX 文档控件示例示例控件写入在 Visual C++6.0 中使用标准的 C++。 重新它可以编译在 Visual Studio.NET 2003 或 Visual Studio 2005 而无需进行修改。 版本 1.3 是所有的当前版本的 Microsoft Office,包括 Microsoft Office 2007 兼容的。 为那些想而不必重新编译该项目演示该控件提供了示例的发布版本。 显示如何从 HTML 使用该控件在 WebTest 文件夹中提供一个 Web页面的示例。 其可打开 Office 文档在客户端计算机上,必须安装 Office 2000、 Office XP、 Office 2003 或 Office 2007。运行该示例要运行示例,请按照下列步骤操作:将示例文件解压缩到您选择的一个文件夹。在 Internet Explorer 中打开 Webtest.htm (从 WebTest 文件夹中)。 如果系统提示您选择 是 以启用 ActiveX 控件的脚本。 如果要运行 Windows XP SP 2,Internet Explorer 可能会暂时阻止对 Web页的活动内容。 可以选择以允许通过单击信息栏上的内容。 有关更多信息栏请请参阅以下 Microsoft 知识库中的文章:

843017   在 Windows XP SP 2 中,Internet Explorer 信息栏说明

看到 Web 页中的控件时, 单击控件。在 文件 菜单上单击 新建 以添加到控件的一个新文档。代码使用控件的解决方案该控件是非常自定义的。 您可以更改该控件元素的任何配色方案以及确定边框类型和自定义的题注。 这些可以根据需要设置在运行的时或设计时。

此控件还支持一个名为可以获取对嵌入对象的 IDispatch 接口的引用的 ActiveDocument 属性。 从此接口可以自动执行要执行的任务、 编辑在的文档的部分或收集有关哪些用户已添加或删除的信息对象。 是例如如果必须打开一个 Word 文档,您可以使用类似于以下操作来添加文本的行的代码:

Dim oDoc As Word.Document
Set oDoc = DsoFramer1.ActiveDocument
oDoc.Content.Text = "This was added by Automation"

控制对象,而该对象嵌入程序能够是非常强大。

注意 : 从 HTML 脚本控件在 Web 上的自动化可能向用户,非常危险,因此该控件已故意被标记为不"可安全执行脚本"。 可能会提示用户使用控件在网页中的用户才使用此控件启用脚本。 这是为适当的安全性必需的。

创建新文档该组件可以在系统上创建为注册的任何 ActiveX 文档类型的新文档。 用户可以使用 新建 对话框,从菜单的内置功能或使用您提供创建新文档的自定义函数。

在控件上的 CreateNew 方法可以生成自己的方法以启动新文档。 该方法将采用到 Office 模板文件的编程标识符 (ProgId) 要启动,ActiveX 文档类型的或者路径。 例如,您可以使用下面的 Office ProgId

Excel Spreadsheet "Excel.Sheet"
Excel Chart "Excel.Chart"
PowerPoint Presentation "PowerPoint.Show"
Project Database "MSProject.Project"
Visio Drawing "Visio.Drawing"
Word Document "Word.Document"

如果 ProgId 或模板不能识别或无法启动服务器,您收到在"自定义错误信息"部分讨论的标准错误信息之一。。打开的文档可以同时打开和编辑位于本地驱动器、 通用命名约定 (UNC) 共享或 Web 文件夹的 Office 文档。 一种标准 打开 对话框可以显示用户或调用代码的已提供,使用户可以查找并选择要打开的文件。 可以直接调用 Open 方法,并为要打开一个特定文件的控件。

打开 将是一个的合格的文件路径或一个 URL 到远程 Web 服务器上的一个文件。 该控件将尝试获得对该文件的写访问,并使其锁定,无法编辑除非为 ReadOnly 参数传递 True。 是例如下面的代码打开本地文件,并编辑其上保持锁:

DsoFramer1.Open "C:/TestBook.xls"

如果要打开的不与相关联的 Office 应用程序,但在 Office 加载的文件,您可以在 Open 方法中指定备用的 ProgId。 是例如在 Word 中打开纯文本文件,您可以使用类似于以下内容的代码:

DsoFramer1.Open "C:/Plain.txt", , "Word.Document"

如果您使用 URL 组合这一功能,可以打开生成的 HTML 流式处理从 ASP 文件,并使其显示为内部的 Excel 的数据使用类似下面的代码:

DsoFramer1.Open "https://secureserver/test/mytest.asp?id=123", True, _ "Excel.Sheet", "MyUserAccount", "MyPassword"

</a0>-用户可以编辑结果并将文件保存为磁盘上的本地文件或者将该文件保存到该服务器上,为 Web 文件夹中的新文件。

此外,您可以使用 Open 方法以创建和显示通过自动化创建一个文档的副本。 例如,下面的代码将创建一个新的 Word 文档,然后显示 it.

Dim oWordApp As Object
Dim oWordDoc As Object
Set oWordApp = CreateObject("Word.Application")
Set oWordDoc = oWordApp.Documents.Add
oWordDoc.Content.Text = "Hello World"
DsoFramer1.Open oWordDoc

保存文档若要保存文档,可以使用菜单,或调用 Save 方法。 Save 方法可同时为 保存 一个简单的命令以及作为一个 另存为 命令根据是否传递第一个参数的文件位置。 如果当前的文件打开只读的并且不执行指定保存位置,将只读的发生错误。 有关详细信息,请参阅在"自定义错误消息"部分。

还可以保存到 Web 文件夹在远程服务器上如果该服务器的 HTTP 支持 Microsoft FrontPage Server Extensions (FPSE) 或 Web 分发创作和版本控制 (WebDAV) 协议扩展。 下面的代码演示一个保存到远程文件服务器的新文件:

DsoFramer1.CreateNew "PowerPoint.Show" ' Let user edit the document, then save it. DsoFramer1.Save "http://myserver/mypresentations/test.ppt"

按默认,如果给定的位置已存在文件您收到的错误信息。 但是,通过将 OverwriteExisting 参数设置为 True,可以显式判断覆盖该控件。

处理您自己的文件命令每次用户从 文件 菜单或项与文件命令的工具栏上选择某个项目,将 OnFileCommand 引发事件。 该事件可以重写控件的默认行为,并提供自己的自定义操作和对话框以进行正常的文件操作。

您可以启用或禁用通过 EnableFileCommand 属性的 文件 菜单项。 是例如以下代码将禁用该 打印 命令,然后陷阱打印对禁止用户打印:

Private Sub Form_Load()
DsoFramer1.EnableFileCommand(dsoFilePrint) = False
End
Sub Private Sub DsoFramer1_OnFileCommand(ByVal Item As _ DSOFramer.dsoFileCommandType, Cancel As Boolean)
If Item = dsoFilePrint
Then MsgBox "You asked to print, but I won't allow it."
Cancel = True
End If
End Sub

显示或隐藏在标题栏、 Menubar 或工具栏可以以编程方式显示或标题栏、 菜单栏或工具栏通过设置隐藏这些参数为 True 或 False。 您尝试限制用户操作或控制文档的外观,而它嵌入时,这可能会很有用。

注意如果将 工具栏 设置为 False 并不是所有的工具栏可能被隐藏。 打开和关闭,工具可以切换,当这是可能,必须确定 ActiveX 文档服务器。 最好在打开或创建新文档,以便在服务器知道您的选择时的初始嵌入之前设置此属性。 请注意尽管所有的 Office 服务器支持打开和关闭切换工具,某些第三方服务器可能没有。框架挂钩策略为了在主机获得或失去前状态时,正确处理激活,ActiveX 控件,请使用框架挂钩。 情况默认,创建控件时设置此挂钩。 在某些情况下,尤其是当该控件用于从多线程的 UI 主机,或者当控件嵌套在容器控件如次时在.NET WinForm 应用程序在控件的父级中选项卡页创建不会是挂起运行时该控件在正确窗口。 在这的种情况下您可以使用 FrameHookPolicy 属性重置此挂钩,在更合适的时间。 是例如如果您构建.NET WinForm 解决方案,将在 FrameHookPolicy 属性设置为 dsoSetOnFirstOpen 属性窗口中。组件激活策略示例控件可以在指定的主机应用程序中支持其自身的多个实例。 但是,只有一个控件处于活动状态在给定的时间。 这是 ActiveX 文档承载的要求。 若要处理单个主机中的多个实例,控件注册使用组件管理器。 这将允许该组件管理器跟踪活动控件。 使用 ActivationPolicy 属性若要控制在组件的更改处理嵌入的对象的方式。 ActivationPolicy 属性可以设置一个或多个定义 dsoActivationPolicy 枚举的位标志。自定义错误消息除了标准 COM 错误信息控件可以返回下列自定义的错误信息之一

0x80041102 The ProgID/Template could not be found or is not associated with a COM server.
0x80041103 The associated COM server does not support ActiveX Document embedding.
0x80041104 The command is not supported by the document server.
0x80041105 Unable to perform action because document was opened in read-only mode.
0x80041106 The Microsoft Internet Publishing Provider is not installed, so the URL document cannot be open for write access. 0x80041107 No document is open to perform the operation requested.
0x80041108 Cannot access document when in modal condition. 0x80041109 Cannot Save file without a file path.

使用、 通讯组和支持的通知Microsoft 提供仅,用于说明的编程示例不附带任何明示或默示的保证。 这包括,但不限于适销性或针对特定用途的适用性的默示保证。 本文假定您熟悉所演示的编程语言和用于创建和调试过程的该工具。 Microsoft 支持工程师可以帮助解释某个特定过程的功能。 但是,它们将不修改这些示例以提供额外的功能或构建过程以满足您的特殊需求。

c#开发,winform中嵌入offfice(excel word ppt),使用到DSO Framer DSO Framer c#开发,winform中嵌入offfice,使用到DSO Framer。 微软DSO Framer的下载,注册ocx控件,添加到VS。 下载: https://download.youkuaiyun.com/download/sinat_35187039/10711520 解压后得到的文件,包含一个dsoframer.ocx文件 ocx控件注册: 将dsoframer.ocx文件拷贝... 阅读详情

相关推荐

深入理解并实践DSO Framer嵌入Office组件

在.NET WinForm应用程序中嵌入Office组件,可以增强应用的文档处理能力,特别是在需要处理Word、Excel或PowerPoint这类文件时。本章将介绍如何在WinForm应用中嵌入这些Office组件,并提供详细的操作指导。在本章中,我们将深入了解DSO Framer控件的特性,并探讨如何在.NET WinForm项目中应用它来嵌入Office文档。我们首先会概述控件的功能特点,然后详细分析它的编程接口,并通过实际的示例代码来演示如何操作Excel、Word和PowerPoint文档。

weixin_35950531的博客 909

The associated COM server does not support ActiveX Document embedding

winfrom 通过dsoframer实现读取excel文件报错: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Runtime.InteropServices.COMException (0x8004110...

weixin_30735745的博客 1115

DSO Frmaer Winform程序

Winform下的DSO Frmaer应用程序,虽然不完美但是解决了在winform下DSO Framer的编辑文档不能保存到数据库的问题, 时间仓促,代码注释较少,不明白之处可邮件联系

dsoframer.ocx插件报错“The associated COM server does not support ActiveX Document embedding”解决办法...

实在不想再用IE插件,但有时实在很无奈。有个小需求,需要在线显示office文档,于是拣回了dsoframer.ocx插件。 重新参考了相关文档,一切顺利,测试时打开一个静态excel文件也正常。正式使用的时候,excel文件的内容需要通过一个页面动态读取,如一个cshtml页面。可是打开的...

2995

微软DSO Framer 解决winform中嵌入office(excel,word,ppt)

微软DSO Framer 解决winform中嵌入office(excel,word,ppt)

RuoYi(分离版) 使用代码生成器添加子模块(idea版)

文章目录准备一、使用代码生成器1.数据库2.导入表并生成代码二、导入代码文件1.新建一个模块2.导入zip代码文件3.模块环境配置添加菜单和访问地址总结 准备 前提要把系统启动起来,部分教程可以参考这边文章若依框架RuoYi前后端分离项目导入IDEA及运行启动 但是完全参考这篇文章还是不能把项目启动起来,因为这篇文章没有说明数据库。 我是用的是本地数据库,采用xampp+Navicat的组合来部署和访问数据库。打开Navicat,连接并创建数据库ry-vue并导入数据脚本ry_20191008.sql,q

dream_coke的博客 1万+

使用 dsoframer.ocx 实现在线编辑 word Access 等文档

项目中客户要在线创建word文档,并保存,修改。同事wen找了个dsoframer.ocx,还有demo,把使用的文件及注意事项记录下来:1.先执行reg.bat文件,注册。2.相关的使用可以查看其中的说明文档。 注意事项1.如果出现The associated COM server does not support ActiveX Document embedding. 有两种可能(1)加载的...

weixin_30348519的博客 387

【论文阅读1】机理引导的残差学习用于电池全生命周期状态监测 | Nature Communications

本文提出了一种机理引导的残差学习框架,用于提升电池全生命周期内荷电状态(SOC)和健康状态(SOH)的监测精度。该方法融合等效电路模型的先验知识与机器学习,设计了修正模型和补偿模型两种通用框架。实验验证表明,该方法在三种不同类型电池数据集上均表现出色,SOC和SOH估计误差较传统方法降低50%以上,且在未见工况下仍保持良好外推能力。模型具有强鲁棒性,在减少训练数据量和降低采样频率时性能稳定,并兼具物理可解释性。该框架无需离线测试和运行中校准,为电池安全监测提供了有效解决方案。

qq_21843433的博客 615

微软DSO Framer —— 解决WinForm中嵌入Office(Excel,Word,PPT)

微软DSO Framer —— 解决WinForm中嵌入Office(Excel,Word,PPT) 去发现同类优质开源项目:https://gitcode.com/ 在此仓库中,我们为您提供了微软DSO Framer工具,专门用于解决WinForm应用程序中嵌入Office组件(Excel、Word、PPT)的问题。通过使用该工具,您可以轻松实现在WinForm界面中内嵌Office文档,提升应...

gitblog_06720的博客 1329

无感健康监测的未来:毫米波雷达如何重新定义睡眠科技与居家养老

毫米波雷达技术正重新定义无感健康监测,特别是在睡眠科技与居家养老领域。通过精准监测呼吸、心率和体动,无需穿戴设备即可实现临床级精度。结合合宙Air700E开发板,构建了完整的远程看护解决方案,为老年人提供跌倒检测、异常报警等安全保障,同时保护用户隐私。

cake8的博客 567

UE4-(IK)实现人物脚贴合地面解决斜坡上脚无旋转无法贴合地面问题

在斜面上脚陷入模型中,需要设置旋转值对脚的骨骼进行一个旋转。 解决思路:在射线检测中可以获取到检测点的法线方向,根据法线方向来计算出脚应该向哪个方向进行适当的旋转,在斜坡上,人物脚需要旋转的轴为x轴和y轴以便来贴合地面,z轴方向的旋转是不需要进行修改的。 如图所示,我们需要求得水平面与斜坡的夹角用来得出人物在x轴上的脚旋转量,在蓝图中提供反正切函数,反正切 = 锐角的邻边/对边 所以 反正切值(脚x轴值(roll)) = 法线Y轴值/法线Z轴 值。 现在将上图的人物想象成面向屏幕,脚需...

Stone的博客 3317

winform中DSOFRAMER使用小结

使用dsoframer.ocx的总结

我的梦 2万+

HQChart实战教程64-自定义分时图标题栏

分时图标题栏显示的是当前十字光标所在位置的分钟信息,显示在分时图窗口顶部。一般会显示品种的名称,日期,时间,价格,均价 涨幅,成交量,金额等等,hqchart内置会显示这些信息。如果要额外显示其他的字段,就需要通过替换格式化标题输出函数来是现实。我们在hqchart实例创建完成以后,通过OnCreatedCallback回调函数替换自己的格式化输出函数。返回 { AryText:[ { Text:文字, Color:颜色},…入参 data={ Data: 当前十字光标所在位置的分钟线 }

小银 1056

Winform窗体下显示Word文档控件

请注意,DSO Framer组件可能不支持所有版本的Word,并且可能需要购买许可证。此外,DSO Framer的使用可能受到微软的限制,因为微软鼓励使用开放源代码的解决方案。要在Winform应用程序中显示和操作Word文档,您可以使用第三方控件,如DSO Framer2。如果是64位系统,将dsoframer.ocx文件复制到C:\Windows\SysWOW64文件夹中2。访问提供DSO Framer的官方网站,下载dsoframer.ocx文件1。从工具箱中拖拽WebBrowser控件到窗体上2。

weixin_60705131的博客 656

(第100天)Oracle GoldenGate 常见故障处理指南

OGG 运维的核心在于细致的配置管理和主动的问题排查。熟悉常见错误、掌握关键操作流程、并善用日志和调试工具,是保障数据同步任务稳定运行的关键。希望这份指南能帮助您更高效地解决 OGG 同步中遇到的问题。祝您运维顺利!

LuciferLiu_DBA 301

YOLOv8损失函数改进大全:从IoU到FocusIoU的20+种变体全解析(附完整适配代码+性能对比)

目标检测边界框损失函数演进与优化 摘要:边界框损失函数是目标检测模型定位精度的关键因素。本文系统分析了从基础IoU到最新FocusIoU的20余种损失函数的演进历程,包括四代主要技术:基于重叠区域的IoU/GIoU,结合距离度量的DIoU/CIoU,优化形状匹配的EIoU/RIoU,以及考虑方向性的SIoU/WIoU/FocusIoU。针对YOLOv8模型,提供了完整的损失函数实现代码和替换方案,实验表明优化后的损失函数在复杂场景下可提升mAP@0.5达3.2%。文章特别对比了不同损失在小目标、遮挡和密集场

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 996

使用DsoFramer控件时遇到的问题及解决

业务描述: 项目中用户需要实现:pdf,word,txt文件的查看(暂时只有这几种格式,未来可能会有其他格式,还有可能会扩展编辑,保存,上传到服务器等功能) 环境:VS2013 Office 2016 我选择使用DsoFramer控件,展示word文件,具体步骤 1.下载dsoframer.ocx (我的百度分享:http://pan.baidu.com/s/1eRUdNxS 没有密码)

huasa2239635117的博客 1万+

YOLO26涨点改进 | 检测头Head创新改进篇 | 利用RFAConv感受野注意力卷积改进YOLO26检测头,RFAHead感受野注意力检测头,助力小目标检测高效涨点

YOLO26作为轻量化目标检测模型的新一代标杆,凭借高效的Backbone与Neck结构,在实时检测场景中表现突出,但原生检测头仍存在核心痛点——感受野固定、小目标特征感知薄弱、多尺度目标适配不足,导致在小目标密集、复杂背景遮挡等场景中漏检率偏高、定位精度不足。

qq_36130719的博客 168

DSO Framer

DSO Framer 语言:英文  授权形式:开源  微软为我们提供的Office Active控件。做OA项目一定会用到,想要的功能都有:标红、保护、笔记留痕、书签等等,而且还有源代码。微软技术支持:http://support.microsoft.com/?id=311765现在好多Office文档控件都是用这个扩展的。国内比较好的一个:http://www.dsoframer.c

小马的专栏 4852

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

COMMAND NOT SUPPORTED 解决方法

问题来源: 软件版本:MDK V5.27; 硬件:STM32F411E-DISCO 点击下载程序的时候提示“COMMAND NOT SUPPORTED”,点击options for taget 也能找到目标芯片,咋回事呢? 解决过程 官方相关:https://community.arm.com/developer/tools-software/tools/f/keil-forum/46657/command-not-supported 大概的意思就是开发板,板载STLINK版本太低与MDK 不兼

mainbanp 1万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

推荐免费好用的Web在线Office(Word)编辑控件

DSOFramer论坛:http://www.dsoframer.com/forumdisplay.php?fid=2下载地址:http://www.cnblogs.com/brooklet/archive/2008/07/17/1244850.htmlDSOFramer下载+开发接口当前版本:V2.2.0.2   2006-11-29[color=red]下载控件需要登录[/colo

3742

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Failed to load module script:服务器回的是 text/html

当模块脚本(<script type="module">)请求的资源返回 200 状态但 Content-Type 为 text/html 时,浏览器因严格 MIME 检查而拒绝加载,报错“Expected a JavaScript-or-Wasm module script but received text/html”。该问题常见于缺失的 chunk 被服务器错误返回 index.html。与经典脚本不同,模块脚本始终强制检查 MIME 类型,即使状态码成功也无效。import() 的拒绝仅提示 Fai

qq_40822000的博客 173
上一篇: 得塔之道
下一篇: DeltaOffice在线编辑控件预览版分发
wolfwaretech
博客等级 码龄16年 10粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值