问题标签 [dsofile]
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.
ole - DSOFile.OleDocumentProperties.Save 是否修改文件?
DSOFile.OleDocumentProperties.Save
修改与 NTFS 上的文件关联的元数据。
它会修改文件本身,这意味着校验和会改变吗?
或者它是否只修改了一些关于文件的 NTFS 元数据,但校验和将保持不变?
信用:这实际上是 Ilmo 在这个问题中的自我审问。
office-2013 - DSOFile 在 Office 2013 中无法添加自定义属性
我们使用 DSOFile.dll 成功地处理办公文件,将自定义属性添加到文件中。进入Office 2013后,DSO停止工作。我们尝试在如下相同的环境中创建 POC,但这也不起作用。下面是添加自定义属性的代码片段。
我们可以使用 DSOFile.dll 读取添加到 office 2013 文件的自定义属性。但是当我们在 Excel 等办公应用程序中打开并导航到自定义属性对话框时,它没有列出。此外,如果我们通过 MS word 自定义对话框属性添加自定义属性,它不会在 DSO 对象的迭代过程中列出。
pdf - 使用 VBScript 修改 pdf 文档的自定义属性
如何使用 VBScript 修改 PDF 文档的自定义属性(元数据)?
有没有办法从 VBScript 中使用 iTextSharp?还是我应该使用不同的工具?我试过 MS OLE 文件属性阅读器:
出现错误:ActiveX 组件无法创建对象“DSOFile.OleDocumentProperties”
c# - 需要在c代码中访问DsoFile属性
我已经在 c# 中编写了代码并使用 Dsofile.dll 设置了属性。我可以看到它工作正常并显示我已经设置的属性,即使在重新启动系统后也是如此。现在我希望使用 c 或 c++ 代码访问相同的属性。任何机构都可以为此提供帮助。
是我用来设置属性的代码现在我希望通过 c 或 c++ 代码访问 Same TestXXX 属性。
c# - 如何在c#项目中为32和64不同平台引用和注册DSOFile.dll?
我正在使用 DSOFile.dll 向 Windows 文件系统添加自定义属性,但是如何在我的 c# 项目中引用 dll,因为有两个版本的 dll(32 和 64)。另外,如何根据32或46平台注册正确的dll?我需要明确的步骤。
c# - System.Runtime.InteropServices.COMException:检索具有 CLSID {58968145-CF05-4341-995F-2EE093F6ABA3} 的组件的 COM 类工厂失败
我正在运行 ac# 应用程序,并且正在使用 DSOFile dll。该 DLL 在项目中被引用。我可以在我的开发机器上运行 exe。但是当我在另一台机器上运行 exe 时,我得到了
未处理的异常:System.Runtime.InteropServices.COMException:检索具有 CLSID {58968145-CF05-4341-995F-2EE093F6ABA3} 的组件的 COM 类工厂失败,原因是以下错误:80040154 未注册类(来自 HRESULT 的异常:0x80040154(REGDB_E_CLASSNOTREG) ))。
不知道为什么我会得到这个。谷歌搜索并将平台目标设置为 x86 但我仍然遇到这个问题。任何帮助都会很棒。
c# - 使用 C# 从 Excel 文件中删除元数据?
我目前正在使用 C# 设置多个 excel 文件的自定义属性。我正在使用来自 Microsoft 的称为 DSOFile 的导入库来写入 CustomProperties 属性。我遇到的一个问题是,每当代码尝试写入已写入自定义属性(例如 Company 和 Year)的 excel 文件时,就会引发 COMException 异常以指示文件的自定义属性已经具有具有该名称的字段。确切消息:“该名称的项目已存在于集合中”。我希望能够删除集合中的该项目,以便我可以重写文件。例如,如果我不小心在文件中的年份属性中添加了错误的年份,我希望能够清除该字段并向其写入新值。我无法在 DSOFile 类中找到删除元数据的方法。无论如何“以编程方式”从文件中清除元数据而不通过文件属性窗口执行它?
示例代码:
c# - 无法添加自定义属性 - 需要修复
我正在使用DSOFile
以下代码将自定义属性写入文件:
但是在运行代码时它给了我以下错误:
batchFile.exe 中出现“System.InvalidCastException”类型的未处理异常
附加信息:无法将“DSOFile.OleDocumentPropertiesClass”类型的 COM 对象转换为接口类型“DSOFile._OleDocumentProperties”。此操作失败,因为 IID 为“{58968145-CF01-4341-995F-2EE093F6ABA3}”的接口的 COM 组件上的 QueryInterface 调用因以下错误而失败:不支持此类接口(来自 HRESULT 的异常:0x80004002 (E_NOINTERFACE)) .
然后在执行该行时更改类型,file
但dynamic
无法添加或查看与文件关联的属性,所有属性都显示函数评估需要所有线程运行。
那就是代码将如下所示:
这是我在调试时观察变量时发生的图像:
我做错了什么?任何建议将不胜感激。