【发布时间】:2016-01-23 13:35:38
【问题描述】:
我正在寻找如何通过Excel VBA 识别不同的图标覆盖。
有一个云同步软件,我正在尝试识别我的 excel 文件的同步何时完成或仍在进行中。通过跟踪某些元(?)文件的修改日期,我能够达到基本的可靠性水平,但没有足够的一致性来完全依赖这种方法。
我的搜索结果是一个巨大的打击,因为在VBA 中没有太多关于它的信息。基本上我发现每个人都使用像C++ 这样的高级语言来处理这些事情。
我在VBA 中找到的最接近的来源与System Tray 执行类似的操作,并使用shell32.dll 调用适当的windows api (link)。但是我不知道怎么去Shell Icon Overlay Identifier。
你们怎么看,有没有办法通过VBA或者我必须学习C++?
【问题讨论】:
-
云服务通常具有 Web API,允许您查询它们的状态等。这似乎比乱用覆盖图标更好的方法。
SHGetFileInfo可用于返回给定文件的覆盖图标的索引,您需要尝试查看哪些索引与重新启动之间的内容和恒定程度相关,可能使用具有已知同步状态的固定文件。 -
覆盖图标是错误的方法。怀疑它甚至是易处理的。使用 API。
-
我尝试在 C++ 中使用 API,通过示例完成这些步骤,但构建不成功给了我错误。不幸的是,我没有能力用我可以处理的语言达到那个水平。感谢
SHGetFileInfo提示!我会看看我能用它做什么。 -
到底谁会否决这样的问题,为什么?疯了……
-
使用 VBA 这是一种合法的方法,因为它正在工作,这就是问题的重点,让它发挥作用。也许这不是最佳解决方案。使用云 SDK 的具有 C++ 接口的 SQL 数据库会更好。另外,我可以根据自己的需要设置自己的超级安全网络服务器来处理同步。不幸的是,所有这些至少要花我一年的时间。这个 VBA 解决方案让我得到了我在问题中寻找的东西,这正是我想要的。当您甚至没有足够的钱购买汽油时,您就不会尝试购买跑车。