问题标签 [activex]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
visual-studio - DSOFramer 在另一个窗口中关闭 Excel 文档。如果文件中未保存数据,则 dsoframer 无法打开并显示“尝试访问无效地址”
我正在使用Microsoft's DSOFramer
控件允许我在对话框中嵌入 Excel 文件,以便用户可以选择他的工作表,然后选择他的单元格范围;它与我对话框上的导入按钮一起使用。
问题是当我调用该DSOFramer's OPEN
函数时,如果我在另一个窗口中打开 Excel,它会关闭 Excel 文档(但让 Excel 继续运行)。如果它试图关闭的文档有未保存的数据,我会在另一个窗口中看到一个关闭 Excel 文档的对话框。如果文件中未保存数据,dsoframer
则无法打开并显示消息框:Attempt to access invalid address
.
我构建了源代码,并逐步完成,并在其CDsoDocObject::CreateFromFile
函数中进行了调用,调用BindToObject
了 IMoniker 类的对象。HR
是0x8001010a
The message filter indicated that the application is busy
。_ 失败时,它会尝试InstantiateDocObjectServer
通过Microsoft Excel 工作表...失败并显示. 只需调用,首先使用,然后(如果失败)使用.classid
CLSID
HRESULT
0x80040154
Class not registered
InstantiateDocObjectServer
CoCreateInstance
classid
CLSCTX_LOCAL_SERVER
CLSCTX_INPROC_SERVER
我知道DSOFramer
是一个流行的示例项目,用于将 Office 应用程序嵌入到各种对话框和表单中。我希望其他人遇到过这个问题,并且可能对我如何解决这个问题有一些见解。我真的不希望它关闭任何其他打开的 Excel 文档,如果由于未保存的数据而无法关闭文档,我真的不希望它出错。
更新 1:我尝试更改classid
传入的内容Excel.Application
(我知道该类会解析),但这没有用。在CDsoDocObject
中,它尝试打开 key HKEY_CLASSES_ROOT\CLSID\{00024500-0000-0000-C000-000000000046}\DocObject
,但失败了。我已经在视觉上确认该密钥不存在于我的注册表中;该指南存在密钥,但没有DocObject
子密钥。然后它会产生一个错误消息框:The associated COM server does not support ActiveX document embedding
。当我尝试使用Excel.Workbook programid
.
更新 2:我尝试启动 Excel 的第二个实例,希望我的自动化将绑定到它(是最近调用的)而不是问题 Excel 实例,但它似乎没有这样做。结果是一样的。我的问题似乎归结为:我正在调用BindToObject
class 的对象IMoniker
,并接收0x8001010A (RPC_E_SERVERCALL_RETRYLATER)
The message filter indicated that the application is busy
. 我尝试过使用传递给BindToObject
(通过SetBindOptions
)的标志,但似乎没有任何区别。
更新 3:它首先尝试使用 IMoniker 类进行绑定。如果失败,它会调用asCoCreateInstance
方法。这可能适用于其他 MS Office 对象,但当它是 Excel 时,该类适用于工作表。我将示例修改为,然后获取工作簿,然后为目标文件调用 ,该文件返回一个 Worksheet 对象。然后我返回该指针并与原始示例代码路径合并。现在都在工作。clsid
fallback
CoCreateInstance _Application
Workbooks::Open
dll - 如何浏览 ActiveX DLL 的类和方法?
基本上,我想要的是能够探索 ActiveX DLL。我通常启动 VB 6,将 DLL 添加到项目的“引用”,然后使用对象资源管理器。
但是,在这台特定的机器上我无法安装 VB/VS。
我敢肯定有一个工具可以做到这一点。有人知道吗?
谢谢
javascript - 如何在 C++ 中构建可以使用 Javascript 编写脚本的 ActiveX 对象
我可以使用 VS08 的 MFC/ActiveX 模板来创建一个 C++ ActiveX 对象,我可以将其加载到 HTML 页面中并使用 Javascript 编写脚本。但我不知道如何创建一个接口,允许我使用 Javascript 在我的组件上调用自定义方法。
你能告诉我如何做到这一点吗?我在谷歌上花了两个多小时没有运气。
谢谢。
c# - 如何在 C# 控件中创建 activeX 并在 ASP.NET 站点中引用它?
如何在 C# 库项目中创建一个 activeX 控件,然后在另一个 ASP.NET 湿站点项目中引用它?
internet-explorer - IE 中的 ActiveX。对话框未显示 XP 视觉样式
我在 IE (7) 中有一个 ActiveX 控件。当它显示一个对话框时,该对话框不以 XP 视觉样式显示。我试过嵌入清单无济于事。有人知道吗?顺便说一句,对话框是使用 wtl 实现的。
python - 如何使用 Python 编写 OLE 组件脚本
我想使用 Python 编写一个应用程序脚本,该应用程序自称提供 OLE 组件。我应该如何开始?
我还不知道我需要在要访问的组件上调用哪些方法。我应该使用 win32com 加载这些组件,然后开始在 IPython 中按“tab”吗?
winapi - Win32:注册 ActiveX 控件所需的注册表项?
我需要编写调用 DllRegisterServer 时运行的代码。即当有人打电话时:
我正在尝试找到所需注册表项的最终列表(而不仅仅是我可以通过注册表拼写拼凑的内容)。
到目前为止,我的探险发现:
现在,关注点: - 控制文件夹包含什么?它的存在是否表明控制?- 205201 的 MiscStatus 有什么作用?205202 会做什么呢?- 动词“Properties,0,2”是什么?“Properties,0,0”和“Properties,0,1”在哪里?
换句话说,我正在寻找文档。
debugging - 如何跟踪 COM/ActiveX 依赖项?
是否有任何“外面”的东西,类似于 Dependency Walker,它遍历并报告 ActiveX/COM 对象的依赖关系?
java - 您可以通过编程方式在 Java 中注册 ActiveX dll 吗?
我有一个第三方 ActiveX dll,如果可能的话,我想在运行时以编程方式注册它。这可以用Java完成吗?我正在使用的应用程序是 Windows XP 上的 Eclipse 应用程序。
video - Google 地球弹出视频 (ActiveX)
是否可以在弹出的 Google 地球地标中放置 ActiveX 控件?
我有一个专有的第三方 activex 控件,可以嵌入 HTML。这适用于 Google 地球吗?