小编Ste*_*nti的帖子

VBA WebBrowser捕获全屏

想在VBA范围内做到这一点(其他用户没有其他开发工具可以修改).我知道第三方应用程序(例如iMacros)做类似但希望尽可能通用.该商店使用XP和Excel 2003.

(1) VBA子程序控制InternetExplorer浏览器自动查看网站,表单提交等.

(2)有没有办法从WebBrowser的内容中获取屏幕截图?没有凌乱的SendKeys方法?.NET有一个Webbrowser.DrawToBitmap方法,但无法找到一个简单的VBA解决方案.想要整个屏幕,包括"低于折叠" - 滚动条下方......

browser excel vba excel-vba internet-explorer-8

8
推荐指数
1
解决办法
1万
查看次数

使 C# 类库在 Visual Studio 2022 中 COM 可见

我的最终目标是用 C# 构建一个类库 (Calculator.dll),其中包含可通过 VBA 访问 Excel 的函数。

我本来希望避免注册 dll 的需要,而是在 VBA 代码中使用 Declare Function 语句,但显然这是不可能的,我的研究表明我需要使类库 COM-Visible,然后注册并将其添加为 VBA 项目的引用。在早期的 Visual Studio 版本中,这似乎是单击项目属性对话框中的框的问题,但我在 VS2022 中没有看到该框?!

这些是我对“玩具”示例采取的步骤,以及我遇到的问题。

(1) 我用一个计算类和一个简单的方法来添加两个整数,构建了以下 .dll。由于我们使用 32 位 Excel,因此我将其配置为 x86。

namespace ClassLibraryCalculator
{
    public class Calculate
    {
        public int Add(int a,int b){ return a + b; }
    }
} 
Run Code Online (Sandbox Code Playgroud)

(2) 在命令提示符下,以管理员身份运行,我尝试运行 regsvr32“ClassLibraryCalculator.dll”,但遇到错误“..已加载,但未找到入口点 DllRegisterServer”

经过搜索,据说解决这个问题的方法是修改项目属性,这是(在早期版本的VS中?)一个对话框 在此输入图像描述

带有一个复选框,但我在 Visual Studio 2022 项目属性中没有看到任何与 COM 相关的内容。

.net c# com dll com-interop

3
推荐指数
1
解决办法
2372
查看次数

标签 统计

.net ×1

browser ×1

c# ×1

com ×1

com-interop ×1

dll ×1

excel ×1

excel-vba ×1

internet-explorer-8 ×1

vba ×1