问题标签 [office-automation]
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.
delphi - “被呼叫者拒绝呼叫”
我们正在将大量应用程序从 Windows XP 迁移到 Windows 7,并且遇到了 Word Automation 的一个老问题。
我们在我们的一个应用程序中遇到了一个问题,当我们尝试连接到 Word 时,我们会收到“呼叫被 Callee 拒绝”,除非它已经打开。我们在 Delphi 2000 / Windows XP 中使用以下代码解决了这个问题:
这在 Windows 7 下不再有效 - 在 XE2 下重新编译似乎没有帮助。
我在这里看到了一个与Visual Studio 有关的相关问题 - 任何人都知道如何将其应用于 Delphi(XE2 在这个阶段会很好)
担
delphi - Delphi - 保持 Word 文档的焦点
我在 Delphi 中处理的当前应用程序遇到了一个有趣的问题。问题是在某些情况下,我们的 TWordApplication 的 ActiveDocument 可以在文档完成之前更改。
我有一个 TWordApplication (WordApp) 和一个 TWordDocument (WordDoc),它们的初始化如下:
大多数情况下,我会更新一些书签或从许多模板中插入文本:
在一个工作流程中,文档的创建被第二个文档的创建中断。如果此文档在保存后未关闭,则它会“窃取”原始文档的焦点。我认为用户不需要记住关闭第二个文档是合法的。
我想要做的是将WordApp的焦点切换到WordDoc,或者直接将 WordDoc 用于 InsertFile - 但这似乎不是一个选项。
(还有第三种选择,我在创建第一个文档之前整理第二个文档所需的数据,但这需要更改应用程序逻辑。)
有什么帮助吗?
excel - Excel VBA SendKeys 不会导致 IE 9 保存下载
我正在编写一个宏来从我公司的内部网站下载一个 csv 文件。
由于许多原因,我不能使用任何 xmlhttp 对象。宏将下载文件。问题是 Internet Explorer 9 使用打开、保存和取消按钮提示用户。
在 IE 中,Alt+Shift+S 将保存下载,但我无法从 Excel VBA 中获取 Sendkeys "%+s" 方法。
以下是相关代码:
vba - IE 9 不接受 SendKeys
我在IE 9 上发布了不接受 SendKeys 来下载文件,但这个问题与我收到的答案足以证明另一个问题的合理性。我的问题是我无法让 IE 9 接受任何SendKeys
. 我尝试了Page Down, Tab, 所有的F#键,但它们都不起作用。
这是我正在使用的代码:
我完全不知所措,因为似乎大多数论坛或教程对 IE 9 没有任何不同。IE 对象是在类模块中创建并在Class_Initialize
子模块中初始化的。我不确定这是否有帮助,但我真的不知道为什么这不起作用,以及如何将密钥发送到 IE 的任何帮助将不胜感激。
delphi - 使用 Firemonkey 将数据与 MS Word 文档合并
我即将编写一个 Windows 应用程序,它将数据库数据与 ms word docs 合并。我想知道我是否能够用 Firemonkey 做到这一点,所以将来我可以在 Mac 中重用非 Windows 特定的代码。我可以在 Firemonkey 中使用 MS Office 自动化吗?谢谢
vba - Excel 2010 VBA中的Dir函数不起作用
我正在尝试遍历给定目录以查找最新下载的 csv 文件。由于某种原因,即使文件确实存在,我的 Dir 函数也找不到任何文件。我对 VBA 并不完全熟悉,所以我可能缺少执行 Dir 功能的某种参考,但我在网上找不到任何告诉我需要的东西。所有的例子和论坛都像我一样使用 Dir,但我不能让我的工作。这是代码,如果你能看到我做错了什么,请告诉我:
test.txt 文件在我的下载文件中,并且 filePath 字符串打印出来是正确的路径,但我不断收到一条错误消息,指出它找不到该文件。首次使用 Dir(pathToFile) 时失败。任何帮助将不胜感激。
vba - Excel VBA Workbook not adding to Object Collection
I am trying to create a collection of workbooks that will allow me to more easily keep track of all the workbooks that are opened. Because the workbooks will be named differently each time, and because I need to make this work without assuming that Excel has no other workbooks open, I cannot use the index. Therefore I have decided to use a collection. However, I keep getting an error when i put in a second workbook, and I am not sure what is going on. I have set the code up in two modules (I am not sure if that would be a problem), but i have just provided the relevant code for easy reading.
I am not sure if it is because the collection is in a different module, or if there is something wrong with my code above. I am at a total loss. Any help would be great.
UPDATE
I have since answered this question, but on a related note, it seems that each time i reference the collection it is wiping out all of the previous parts of the Collection. I placed this code below in my answer, but i am adding it here modified for reference:
I don't understand what is going on. It seems like you are unable to pass the reference of collections in VBA? I have read posts about how the New operation doesn't actually create an object, but that was unclear to me. If you think this should be a separate question let me know and i will make it so. Thanks.
vba - Excel 数组和集合在模块之间传递混淆值
这真的难倒我。我昨天提出了一个关于在模块之间传递集合的问题(见这里),但我似乎没有得到更多关于那个的解释,所以我试图以一种通用的方式更清楚地重申这个问题。
我有一个模块(module1)和一个用户表单(userform1)。我在 userform1 中创建了一个集合(或数组)并将工作表对象添加到该数组中。然后我将控制权传递给 module1,它调用 userform1 中一个名为 addNewFile 的子程序,它应该将新创建的工作簿添加到集合中。但是,每次 module1 调用 addNewFile 时,我都会遇到以下两种情况之一:1)集合已被删除,所有已添加的工作表现在都消失了(对于集合),2)我收到一条错误消息,指出我的类型不匹配(对于一个数组)。我不知道为什么会这样,所以下面的代码可以更好地说明。任何帮助将不胜感激,即使只是告诉我不可能将工作表对象存储在数组中。
用户窗体1
模块1
抱歉,如果我似乎在这里打败了一匹死马,但我真的不知道这里发生了什么。我习惯于集合和列表是全局的并且在被另一个模块引用时不会改变的想法。对这里发生的事情的任何帮助都会很棒。
c# - 如何使用 Word 12 版组件在 Word 97 中另存为?
我在 C# 中使用 Word 2007 组件。
我想将 Word 文档另存为 Word97(-2003) 文档,因为不是每个人都使用 Word 2007/2010。
我认为使用以下命令很容易
但是随后会显示 SaveAs 对话框,并假设我想将其保存为 docx 文件。
我注意到 WdSaveFormat.wdFormatDocument-flag 与 WdSaveFormat.wdFormatDocument97-flag 具有相同的值。所以我认为我必须做的不仅仅是在 SaveAs 命令中使用这些参数。
有谁能够帮助我?我希望格式正确,而不是看到“另存为”对话框。
谢谢。
vba - 自动化错误:内部 SAP 站点抓取出现 800706B5、80004005、80010108
我正在编写一个宏,它将抓取我公司的内部 SAP 站点以获取供应商信息。出于几个原因,我必须使用 VBA 来做到这一点。但是,我无法弄清楚为什么在尝试抓取页面时会不断收到这三个错误。这可能与UAC 完整性模型有关吗?还是我的代码有问题?是否可以在 Internet Explorer 中以不同方式处理使用 http 的网页?我可以访问任何网页,甚至是其他内部网页,并且可以很好地抓取其中的每一个。但是当我尝试抓取 SAP 页面时,我得到了这些错误。错误描述及其发生时间是:
800706B5 - 接口未知(在运行有问题的代码之前放置断点时发生)
80004005 - 未指定的错误(当我没有放置任何错误并让宏运行时发生)
80010108 - 调用的对象已与其客户端断开连接。(我似乎无法始终如一地发生此错误,它似乎发生在 excel 中的某些内容严重损坏以至于无法加载任何页面并且我必须重新安装 excel 的时候)
我完全不知道发生了什么。Integrity 页面对我来说没有多大意义,我在此找到的所有研究都谈到了连接到数据库以及使用 ADO 和 COM 引用。但是,我通过 Internet Explorer 做所有事情。下面是我的相关代码:
PageScraper 模块
我在 Windows 7 机器上使用 IE9 和 Excel 2010。您可以提供的任何帮助或见解将不胜感激。谢谢你。