将早期绑定代码转换为后期绑定

2024-02-21

我经常在 VBA 和 VB6 中编写早期绑定代码来自动化办公应用程序(Word、Excel 等),然后将其切换到后期绑定以处理这些应用程序的多个版本。我正在尝试做同样的事情,但我正在自动化 ESRI ArcMap GIS 应用程序,而我过去使用的概念似乎没有翻译。


以下代码运行正确:

Sub EarlyBinding()
Dim ArcMap As esriArcMapUI.MxDocument

    Set ArcMap = GetObject("C:\Users\Mike\Downloads\Assessment Mapping.mxd", _
                           "esriArcMapUI.MxDocument")
    Debug.Print ArcMap.Title
End Sub

但是这段代码失败了对象不支持此属性或方法 on the Debug.Print line:

Sub LateBinding()
Dim ArcMap As Object

    Set ArcMap = GetObject("C:\Users\Mike\Downloads\Assessment Mapping.mxd", _
                           "esriArcMapUI.MxDocument")
    Debug.Print ArcMap.Title

End Sub

MS Office 应用程序有什么特别之处吗?它们通常比 COM 服务器更好地支持这种方法?或者 ESRI 应用程序的一些特别之处do not支持这种做法吗?


Esri 对象很可能未正确支持 IDISPATCH。您可以尝试 CALLBYNAME,但我猜这也行不通,因为我相信它也通过 IDispatch 进行引导。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将早期绑定代码转换为后期绑定 的相关文章

  • MS Access - 粘贴确认事件后

    当用户将记录直接粘贴到数据表子报表中时 是否可以在显示粘贴确认消息后捕获事件 我需要它能够在审计表中创建新记录时进行记录 通过捕获更新前 更新后和插入事件 我可以轻松创建已添加的记录集合 准备将详细信息插入审核日志 但是在所有这些事件触发后
  • 我应该选择哪个 VC++ 运行时版本 - 静态还是动态?

    我正在开发一个 64 位进程内 VC ATL COM 服务器 它基本上只是将所有调用重定向到进程外 COM 服务器 所以我的COM服务器基本上什么都不做 最初它在 DLL 中使用 C 运行时 MD编译器开关 我注意到当我在干净的 64 位
  • 将ADODB二进制流转换为字符串vba

    我有以下问题 我有一个存储在服务器上的 CSV 文件 但它有 3 个字符作为分隔符 我想从 URL 加载数据并使用 作为分隔符将数据填充到 Excel 页面的列中 到目前为止 我找到了使用 ADODB 记录集从网站加载文件的代码 但我无法进
  • 在 MS Word 中运行外部 vba 代码

    我可以将外部代码链接到 Word 文档吗 我有很多带有宏的 Word 文档 VBA 代码 全部使用相同的代码 我希望代码从外部源运行 而不是从所有这些文档中运行 这样 如果我必须更新代码 我只有一个地方需要更新 您可以创建一个模板并将其放入
  • 所以,我有 6 个“主”文件,然后分为 40 个单独的文件

    我将简要描述我想要的内容 我有 6 个 主 文件 每个文件包含 40 个工作表 如下所示 AG 工作簿有 HR Gp 1 到 HR Gp 40 ER 工作簿有 FB Gp 1 到 Gp 40 等 所有工作表都已 平坦 我已经成功创建了一个适
  • 将 Excel 范围转换为 VBA 字符串

    我想将给定范围内的值转换为 VBA 字符串 其中原始单元格值由任何选定的列分隔符和行分隔符分隔 分隔符可以是一个字符或更长的字符串 行分隔符是行末尾的字符串 该字符串应该像我们从左上角 从左到右 到右下角读取文本一样完成 以下是范围 A1
  • 如何查找给定接口 GUID 的 COM 接口定义?

    我有一个 COM 接口 GUID 但我不知道该接口定义 我不知道它有什么方法 有什么参数等等 我怎样才能获得这些信息 一般情况下可以吗 实际问题是获取 中定义的少数 COM 接口的接口定义actxprxy dll 例如IFileDialog
  • Excel VBA - 添加自定义数字格式

    我有一个在 Excel 外部生成的文件 其中包含许多百分比 所有这些百分比都有一位小数 当导入到 Excel 中时 Excel 会在百分比中添加第二位小数 这似乎是 Excel 中百分比的某种默认格式 它只是添加了一个 0 我想将所有两位小
  • VBA在多个文件夹中搜索特定子文件夹并移动其中的所有文件

    你能帮助我吗 我想要一个宏vba来搜索SPECIFIC例如 所有存在并移动其文件的文件夹和子文件夹之间的子文件夹 Xfolder P Desktop Folder1 subfolder SUBFOLDER1 Xfolder 我正在使用 VB
  • 从 MS Access 调用存储过程会导致错误 3146

    当我使用下面所示的代码从 MS Access 前端调用 SQL Server 存储过程时 它停止运行并抛出运行时错误 3146 这个存储过程在 SQL Server 中工作正常 但是当我从 MS Access 运行时 它首先工作 但突然停止
  • 如何将参数从 Excel/VBA 传递到 Rstudio 中的脚本

    我正在尝试使用 Rstudio 从 VBA 打开 R 脚本 同时将参数传递给 R 脚本 然后我可以使用 commandArgs 访问该脚本 该问题与此处描述的问题非常相似 WScript Shell 用于运行路径中包含空格且来自 VBA 的
  • VBA (Excel) 中 =Empty 和 IsEmpty() 有什么区别?

    我使用了以下 VBA 代码 Do While Cell i 1 lt gt Empty doing things i i 1 Loop 在 Excel 中迭代列 具有双精度 整数值 然后我发现了一种情况 每当单元格的值为 0 时 测试的计算
  • 为什么我的 DLL 无法注册?

    我正在 VS2005 中构建一个项目 但我的几个 DLL 无法注册 我在 Visual Studio 中收到的错误消息是 项目 错误 PRJ0019 工具从 注册 ActiveX 控件 返回错误代码 这很模糊 当我通过命令行手动注册DLL时
  • 插入行而不选择任何内容?

    我正在使用 VBA 希望在特定位置插入一行而不选择它 我遇到的问题是 选择该行后 当脚本运行完毕时 电子表格会向下滚动到该行 我希望能够在不将电子表格向下滚动到插入行的情况下执行此操作 Rows i i Select ActiveCell
  • 如何在VBA中将文本文件读取到数组中

    我正在尝试将制表符分隔的文本文件提取到数组中 我已经知道如何将该文本文件读入电子表格中 以下是我的代码 它运行良好 While Not EOF iFile Line Input iFile LineText Dim arr arr Spli
  • COM多线程支持

    第一次使用COM我有这个 COM dll 比如 ABCServer dll 我创建了一个 RCW 并在我的项目中添加了对它的引用 现在 我的应用程序创建了多个线程 每个线程从 COM dll 创建某些类并使用它们 但是 当其他线程正在处理
  • 在单元格中查找以逗号分隔的多个值并返回以逗号分隔的多个值

    如果有人可以帮忙的话 我们将此表称为 1 我想在此处执行查找 可以将工作表 2 中 B 列的值引入工作表 1 中的 B 列 返回的多个值也应该用逗号分隔 我在这里尝试使用 textjoin 公式 但它搞砸的地方是 例如它将 A12 计为 A
  • 按字母顺序对组合框值进行排序

    我的 Excel 用户表单中有一个组合框 按字母顺序排序的最简单方法是什么 它的值是在 vba 中硬编码的 新的值只是添加到底部 因此它们不按任何顺序排列 当前正在使用用户表单 以便我们的用户可以将数据从我们的数据库导入到 Excel 中
  • 根据单元格值返回图像(100 张图像和可变单元格)

    我正在尝试为我制作一个 TFT 云顶之弈 表 并想让它看起来更好 为此 我想添加游戏中冠军的图像 当我输入名称时 图像应该出现在下面 我找到了一种将所有图像插入 Excel 工作表 100 的方法 并且还成功制作了一个动态图像 插入 IND
  • 如果不是,则必须删除单元格的第一个字符 #3Created 循环永远不会结束

    所以基本上 我需要删除主键字段中第二位数字不为 3 的所有记录 例如可以如下所示 39001 或者没有 3 我想要的是所有以非 3 开头的单元格 它们的行都被删除我想出了以下代码 它删除了所有单元格 但宏永远不会停止运行 Sub keep3

随机推荐

  • 组件返回失败代码:0x80004005

    仅当我执行此操作时 有时才会触发此错误XMLHttpRequest uncaught exception Exception Component returned failure code 0x80004005 NS ERROR FAILU
  • Ruby - 是否可以将方法别名为安全导航运算符

    Ruby 2 3 引入了安全导航运算符 但我发现它的语法过于离散 在简单扫描代码时很容易错过 相反 我更喜欢以下语法try因为它看起来更加明显和有意 所以我的问题是在 Ruby 2 3 中 有没有办法为安全导航运算符添加别名或猴子修补方法
  • 从Python调用Matlab函数

    我有一个项目 其中有一个一个 matlab 代码 我必须运行 Django 我尝试安装 Mlabwrap 但它给了我以下错误 Traceback most recent call last File
  • 应用程序不再可用

    在移动设备上安装应用程序后 并将设备时间更改为一周前 并尝试打开应用程序它说 MyAppName Is No Longer Available 任何遇到此问题的人请告诉我 您的意见非常重要 我们有很多理由这样做 如果您没有有效的开发者许可证
  • 使用 tweepy 保存推文全文

    我是一个Python新手程序员 我在尝试使用以下命令提取一系列推文的文本时遇到问题tweepy并将其保存到文本文件 我省略了身份验证和其他内容 search api search hello count 10 textlist for i
  • 解析本地HTML文件

    我可以使用 PowerShell 解析 HTML 页面 PS gt foo Invoke WebRequest http example com PS gt foo Links Count 1 但是 如果我下载该页面 PS gt Invok
  • 结构错误中的联合

    我有以下结构 struct type1 struct type2 node union element struct type3 e int val 初始化指针时 f指向一个实例type1并做类似的事情 f element gt e甚至只是
  • 在 MATLAB 中更改 seqlogo 图形的 x 轴

    我正在制作大量seqlogos http www mathworks com access helpdesk help toolbox bioinfo ref seqlogo html以编程方式 它们有数百列宽 因此运行seqlogo通常会
  • 如何让网格为空白单元格绘制边框?

    我有一个 ItemsControl 它使用Grid as the ItemsPanelTemplate 并设置 Grid Column 和 Grid RowItemContainerStyle在网格中定位数据项 有没有办法将网格线添加到网格
  • CSS3 flexbox 调整垂直对齐元素的高度

    是否有可能使 item 1高度灵活可调 item 2高度 例如 if item 1高度是10 then item 2高度是90 if item 1高度是11 then item 2高度是89 所以根据内容 item 1我们应该调整它的大小
  • 时间:如何获得下周五?

    我怎样才能得到下周五乔达时间 http www joda org joda time API The LocalDate http www joda org joda time apidocs org joda time LocalDate
  • json_normalize JSON 文件,包含包含字典的多级列表(包含示例)

    最初是从上一个问题 https stackoverflow com questions 51236433 json normalize json file with list containing dictionary sample inc
  • HTML5 Canvas 描边未消除锯齿

    我只是想在画布上用粗的抗锯齿笔画画一个圆圈 圆圈按预期绘制 但笔划的边缘非常锯齿状 我一直读到 Chrome 强制抗锯齿 所以不知道该怎么办 Fiddle http jsfiddle net nipponese hWsxw http jsf
  • 类型错误:列表索引必须是整数或切片,而不是 str“转换字符”

    Number 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 for n in range 0 20 print Number n 1 n InputNum3 input Number I
  • VueJs - 表单提交时的 PreventDefault()

    我需要以编程方式提交表单 但我需要它preventDefault以及 现在我有以下内容 submit this refs form submit 它工作正常 但我无法阻止提交的默认设置 最终刷新页面 简短回答 您可以添加 prevent修饰
  • Qt:如何在 QAbstractItemModel 中的子表上设置标题?

    QAbstractItemModel 有一个 setHeaderData int section 方法 该方法采用行或列的部分 具体取决于标题方向 我有一个模型 其中包含几个表 这些表都是顶部项目的子项 也就是说 我的模型层次结构的第一级
  • 使用 C# 将查询插入 Paradox 表时出现问题

    我需要连接 Paradox 5 x 表才能进行选择和更新 我正在使用 OLEDBConnection 从表中选择我没有问题 在尝试插入表时 我遇到了一个问题 当我输入硬编码的字段名称时 出现错误 INSERT INTO 语句包含以下未知字段
  • 使用 Devise 身份验证进行 Ruby on Rails 功能测试

    我正在寻找一个奇怪问题的解决方案 我有一个控制器 需要身份验证 使用 devise gem 我添加了 Devise TestHelpers 但无法让它工作 require test helper class KeysControllerTe
  • 如何按名称删除 S3 存储桶中的旧文件?

    很像在使用前缀的 S3 Bucket 管理 生命周期 https stackoverflow com questions 38969953 aws s3 lifecycle rule on multiple folders 38970507
  • 将早期绑定代码转换为后期绑定

    我经常在 VBA 和 VB6 中编写早期绑定代码来自动化办公应用程序 Word Excel 等 然后将其切换到后期绑定以处理这些应用程序的多个版本 我正在尝试做同样的事情 但我正在自动化 ESRI ArcMap GIS 应用程序 而我过去使