乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 409|回复: 14

确定程序ID

[复制链接]

71

主题

483

帖子

7

银币

中流砥柱

Rank: 25

铜币
765
发表于 2018-2-23 08:56:46 | 显示全部楼层 |阅读模式
是否可以通过了解我们从VBAIDE访问的库来确定prog-id的名称?
我试图从一些VBA代码中学习,更准确地将它们转换为lisp代码。
问题是这样的:
案例#1
假设您在excel应用程序中访问VBAIDE,但是如何发现他使用的应用程序的prog-id是“Excel.Application”?
所以下次你在其他应用程序中使用VBA时,你会知道吗?
例如,使用Word中的VBA来操作Excel,反之亦然。
案例#2
因为在我试图理解的一些代码中,这家伙只是以:
  1. ' Reference required: "VBE - Tools - References - Acrobat"
  2. Dim AcroApp As New Acrobat.AcroApp, PartDocs() As Acrobat.CAcroPDDoc

开头,这真的让我感到困惑,因为VBA代码缺少CreateObject函数,在LISP中将是(vlax-create-object progid):
  1. CreateObject("progid")

我猜他访问了Acrobat Applicaiton,为此我不知道prog-id,我依靠运气找到正确的对象, 通过使用M.Puckett的_FindProjIDs子foo。

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

61

主题

792

帖子

35

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1015
发表于 2018-2-23 09:31:57 | 显示全部楼层

对象。ProgID



https://msdn . Microsoft . com/en-us/library/aa 263181(v = vs . 60)。aspx
但是为了帮助您回答更大的问题:
您有几个“访问
”的选项。你可以使用“COM对象”或“自动化”(注意:`自动化'是` COM '光。)你可能想深入研究一下“自动化”。
在谷歌上快速搜索后,我找到了这个,它应该可以帮助你想象你在VBA是如何“访问东西”的。
http://access . mvps . org/access/modules/MDL 0006 . htm
回复

使用道具 举报

61

主题

792

帖子

35

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1015
发表于 2018-2-23 10:25:35 | 显示全部楼层
经过进一步的搜索(决定在wikipedia上为你找到一些东西)。
https://en.wikipedia.org/wiki/OLE_Automation
另外,这里有一个链接,我已经将您可以从中收集信息的主题标记为书签。
https://support.microsoft.com/en-us/help/196776/office-automation-using-visual-c
回复

使用道具 举报

71

主题

483

帖子

7

银币

中流砥柱

Rank: 25

铜币
765
发表于 2018-2-23 12:10:51 | 显示全部楼层
谢谢你,约翰!- 我会花一些时间阅读你的第二篇文章的链接。但是出现了一个问题,关于你的第一篇文章object。ProgID来自引用:“返回由 VBControl 对象表示的控件的 ProgID(编程 ID),执行测试:Sub Test()。
设置 x = 新的 AcroApp '将其作为参考包含在内,它是该(Acrobat) 库下的成员的对象。
MsgBox (x.GetLanguage) '。
MsgBox (x.progID) '。
结束子。
如果'AcroApp'没有这个属性,那么什么是VBControl对象?后来我发现了这一点但是在我的模块(来自Excel的VBAIDE)中,定义“VBControl”是无法识别的。任何人都可以提供示例如何从此类对象中提取ProgID属性?。
回复

使用道具 举报

61

主题

792

帖子

35

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1015
发表于 2018-2-23 13:39:38 | 显示全部楼层
它可能是Accrobat。不确定我的头顶。我会尝试用Outlook或其他东西做同样的事情。
>VBControl对象
*Pthhh!*我不记得了,但我认为这更通用,例如与表单上的内容有关。就像从列表框对象获取计数一样。
...微软的措辞很好,不是吗;他们给一切都一个超级模糊的术语。
回复

使用道具 举报

71

主题

483

帖子

7

银币

中流砥柱

Rank: 25

铜币
765
发表于 2018-2-23 14:56:08 | 显示全部楼层
(_ FindProjIDs " ACR * ")
(" ACR pdf。pdf . 1 ")
(setq BurtLancaster(vlax-create-object " ACR pdf。pdf . 1 "))
#

(vlax-dump-OBJECT burtlancester t)
;IAcroAXDocShim: IAcroAXDocShim接口
;属性值:
;messageHandler = nilsrc = " "
;支持的方法:
;exec command(1)
;get versions()
;goBackwardStack()
;goForwardStack()
;gotoFirstPage()
;gotoLastPage()
;gotoNextPage()
;gotoPreviousPage()
;LoadFile(1)
;post message(1)
;print()
;print all()
;printAllFit(1)
;print pages(2)
;printPagesFit(3)
;printWithDialog()
;setCurrentHighlight(4)
;setcurrenthighlight(4)
;setCurrentPage(1)
;setLayoutMode(1)
;setNamedDest(1)
;setPageMode(1)
;setShowScrollbars(1)
;setShowToolbar(1)
;set view(1)
;setViewRect(4)
;setview scroll(2)
;set zoom(1)
;setZoomScroll (3)
回复

使用道具 举报

71

主题

483

帖子

7

银币

中流砥柱

Rank: 25

铜币
765
发表于 2018-2-23 15:04:09 | 显示全部楼层
太奇怪了!在上一篇文章中按“发送”时,立即回复了Adobe的一封电子邮件:“整合在线和离线数据的艺术”。
回复

使用道具 举报

71

主题

483

帖子

7

银币

中流砥柱

Rank: 25

铜币
765
发表于 2018-2-23 15:29:55 | 显示全部楼层
谢谢Michael,我最近找到了那个对象,但是觉得prog-id的名字很奇怪——所以决定问问是否有其他途径来研究progid(通过了解库)。无论如何,如果有人对我想翻译成LISP的内容感兴趣,这是http://www.vbaexpress.com/forum/showthread.php? ZVI:2013-08-2747310-Need-code-to-merge-PDF-files-in-a folder-using-adobe-acrobat-X 。
需要参考:VBE-Tools-References-Acrobat    它将提供额外的答案,而不需要ghostscript或任何其他东西(如果已经安装了Acrobat),那可能是你的联邦调查局人员,电子邮件。
回复

使用道具 举报

71

主题

483

帖子

7

银币

中流砥柱

Rank: 25

铜币
765
发表于 2018-2-24 17:13:28 | 显示全部楼层
不客气。有趣的链接(和网站)。如果我没有一百个不同的大头针悬在空中,我会很想把它“Puckettize”(我的同事这么叫它)。回复:联邦调查局:
回复

使用道具 举报

61

主题

792

帖子

35

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1015
发表于 2018-2-26 17:18:00 | 显示全部楼层

现在想知道“我的Puckett中有一些工具”是否是其中之一。
顺便说一句,我似乎需要这两个:
  1. (setq AcroApp (vlax-get-or-create-object "AcroExch.App"))
  2. (setq PartDocs (vlax-get-or-create-object "AcroExch.PDDoc"))

我非常接近翻译VBA代码,(好吧,不是100%的翻译,因为我不明白他如何将PartDocs视为一个集合,当它不是一个集合时)。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2024-11-22 00:51 , Processed in 0.257877 second(s), 72 queries .

© 2020-2024 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表