问题标签 [excel-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.

0 投票
0 回答
77 浏览

c# - 如何注册 x64 Microsft Excel (2019) 使用的 Excel 插件 COM

我正在努力使 C# COM 插件对 x64 Microstf Excel (2019) 可见。到目前为止,我的插件仅对 x86 Microsoft Excel 可见,而对 Microsoft Excel x64 则不可见。

我的插件(类库)被编译到 AnyCPU,非常基础,我只创建了一个类,一个函数,没有引用复杂的 Dll,我只需要它暂时可见。

我正在使用以下代码进行 COM 注册:



上面的代码非常适用于 x86 Excel。

经过研究,我了解到 COM 插件应该在 x64 Regitry 中注册才能对 x64 Excel 可见,我使用以下几行来做到这一点,但没有任何效果:


}

任何人都可以帮助我使这个非常基本的插件适用于 x64 Excel 吗?

先感谢您

0 投票
1 回答
77 浏览

vba - 尝试循环 IF(工作表中的 MID 函数

我有一张名为Data我从固定宽度.txt文件复制和粘贴数据的工作表。大约有 100,000 多行数据,我需要遍历每一行并从中提取数据,如果符合条件,它会在名为AVS. 我确定我错过了一些简单的东西,但对于我的生活来说,它只会给我第一行的结果,然后停止。

这是我到目前为止所拥有的:


在搞砸了几天之后,我重写了代码,如下所示。我没有像以前那样收到任何错误,但它需要很长时间,完成后没有列出任何数据。

我还在下面列出了我试图从“数据”表上检索的数据示例。 样本数据

谢谢大家的帮助!

0 投票
1 回答
33 浏览

excel - Excel IF/MID 循环结果显示附加数据

我正在使用包含 100,000 多行的固定格式文本文件,我将其复制并粘贴到名为 DATA 的工作表中。此工作表中的所有行都以 AVS 或 AVD 开头。我有下面的代码,它通过一个IF MID函数循环遍历数据表。如果行的前 3 个字符以 AVS 开头,我只希望它提取数据。当它运行时,它会正确地从 AVS 行检索数据,但随后的行显示相同的数据,即使它们以 AVD 开头。我在下面列出了一个示例。我认为这可能与错误处理有关,但我不知道。我没有收到任何错误,我只是获得了未要求的其他数据。你们能提供的任何帮助都会很棒!

数据表中的样本:

当前结果

0 投票
1 回答
382 浏览

c# - 使用 Microsoft.Office.Interop.Excel 打开 excel 文件的应用程序与服务器上的 RDP 会话冲突

我最近在 Windows Server 2016/2019 上开始出现一种奇怪的行为。我使用不同版本的 Excel(2016、2019、365)进行了测试,当在服务器上打开远程桌面会话时,问题随机发生(从某些机器启动的一些 RDP 不会导致任何问题,而另一些则导致应用程序没有在职的)。

打开excel的代码非常简单,并且工作了几年没有任何问题:

当它失败时,我们得到以下异常:

远程过程调用失败。(来自 HRESULT 的异常:0x800706BE) System.Runtime.InteropServices.COMException (0x800706BE):远程过程调用失败。(来自 HRESULT 的异常:0x800706BE)在 Microsoft.Office.Interop.Excel.Workbooks.Open(字符串文件名,对象 UpdateLinks,对象只读,对象格式,对象密码,对象 WriteResPassword,对象 IgnoreReadOnlyRecommended,对象来源,对象分隔符,对象可编辑,对象通知、对象转换器、对象 AddToMru、对象本地、对象 CorruptLoad)

对于冲突的 RDP,我注意到 rdpinput.exe 进程已激活,而没有冲突的进程则没有激活该进程的痕迹。如果该服务器上没有打开 RDP 会话,则一切正常。

知道如何解决这个问题吗?我们仍然需要能够对服务器进行 RDP。

谢谢!

0 投票
1 回答
30 浏览

excel - 使用不会过度杀伤文件的 excel 公式来自动化流程

我有一个 Excel 数据集,我不能使用任何插件 - 只有 Excel 公式,用于以下任务:有一个表:A 列,包含文本标签,B 列,包含与每个标签对应的数字(不在升序)。任务是:在 A 列中创建一个新的唯一条目时,应该有一种方法可以找出哪些数字已经被采用和/或哪些数字可以在 B 列中使用。请告知使用哪个公式,是否应制作包含所有可用数字的不同表格等。

0 投票
1 回答
34 浏览

excel - 我想使用 vba 删除与 excel 中特定列值匹配但面临错误的所有行

0 投票
1 回答
26 浏览

excel - 调整特定列的列宽

我需要调整特定工作表中特定列的大小。但无法这样做

0 投票
0 回答
57 浏览

excel - 在网页上提交数据后查询未重定向到原始 URL

我正在尝试使用 Excel VBA 脚本在 Web 应用程序上创建多个用户。下面的代码适用于第一行用户创建,但在第二行的设置文档处停止。实际上,Web 应用程序页面重定向到不同的页面,我认为这导致了这里的问题。有人可以帮我在这里循环每一行的 URL1。

0 投票
1 回答
31 浏览

excel - Excel:搜索列中是否存在特定关键字

我想知道是否有人可以帮助解决我现在面临的问题,实际上我想问我有 1 列有 5k + 行,每行都有一个语句,如果我搜索关键字,我怎么能从整个列中找到那个关键字,并且无论该关键字出现在哪里,它都应该在该行前面提到是或否或 1 或 0,因为我无法为所有行手动执行?感谢您的期待并期待您的快速回复。

0 投票
1 回答
50 浏览

excel - 打印时间表 PDF

因此,我的妻子为她的雇主公司管理时间表,并且必须为参与客户 A 的项目 1 的每位员工打印一份 pdf 时间表。例如:

客户 A - 项目 1 - 员工 1 - 时间和费用
客户 A - 项目 1 - 员工 2 - 时间和费用
客户 A - 项目 1 - 员工 3 - 时间和费用
客户 A - 项目 2 - 员工 2 - 时间和费用
客户 A - 项目 2 - 员工 4 - 时间和费用
客户 A - 项目 3 - 员工 3 - 时间和费用
...
客户 B - 项目 1 - 员工 1 - 时间和费用
客户 B - 项目 2 - 员工 2 - 时间和费用
客户B - 项目 2 - 员工 3 - 时间和费用
客户 B - 项目 3 - 员工 1 - 时间和费用
客户 B - 项目 3 - 员工 4 - 时间和费用
...
等等。

我的妻子有一个非常常规的工作流程,老实说不需要太多的手动操作,所以我试图弄清楚如何自动化/简化她的工作流程,这样她就可以花更多的时间陪伴我们的儿子。

她最多可以有 10 个客户,每个客户最多可以有 20 个活动项目,她每个项目最多可以有 10 名员工。她必须每 15 天做一次。她将所有 PDF 编译成客户项目的合并 pdf,然后手动将信息输入 Quickbooks 以创建汇总发票。然后将发票与各个时间表合并。然后,所有发票都会分发给每个客户。这个过程永远重复。

现在我对编码毫无经验,但我相信我比一般人更了解它。对我来说,当室外温度达到 110 度时,我可以做更多的爱好/活动。到目前为止,我所做的是将所有员工时间表和过滤器加载到一个主数据表中并将信息清理到一个主数据表中的 powerquery。我当前的代码“有效”但需要很多时间并且可能效率很低。我的过程总结如下:

  1. 复制员工姓名列
  2. 将员工姓名粘贴到单独的工作表(临时)范围 A1
  3. 删除重复项,因此我有一列唯一名称。
  4. 对于每个名称,将“名称”过滤器应用于我的主数据表。
    1. 复制客户栏
    2. 在温度范围 B1 上粘贴客户端
    3. 删除重复项,这样我就有了一列员工工作的唯一客户。
    4. 对于员工工作的每个客户,将“客户”过滤器应用于我的主数据表。
      1. 复制项目名称栏
      2. 在临时 C1 上粘贴项目名称
      3. 删除重复项,这样我就有了一列员工为客户工作的独特项目。
      4. 对于员工从事的每个项目,将“项目”过滤器应用于主数据表。
        1. 从主数据表中复制过滤数据(仅可见单元格)
        2. 将数据粘贴到预先格式化的工作表(时间表)表中。
        3. 应用过滤器以隐藏时间表表中的所有空白行。
        4. 在预定位置将时间表打印为 pdf。
        5. 取消隐藏时间表表格中的行并清除下一个项目的内容。

我正在寻找有关如何改进我的流程以减少时间、错误和整体结构的建议。我在代码中还没有任何错误处理。对此的建议也会很好,尽管理想情况下你没有错误;)。我的长而丑陋的代码粘贴在下面。我尝试使用变量,但由于某种原因,我得到了错误,所以我只是重写了变量,它就可以工作了....