我正在尝试创建一个循环,让Excel告诉基于DOS的系统搜索条件。如果它找不到条件,我就会陷入无限循环。我发现很多情况下,循环会一直持续到满足条件为止。但是有没有办法让它运行直到满足条件或整数达到一个点?我对VBA很陌生,所以请轻视我的知识匮乏。我已经尝试了几个单一条件指南,并为傻瓜购买了VBA,(帮助不大)SubTest()DOS.readscreenStrLoop3,1,4DoUntilStrLoop="TXT"LoopEndSub我希望有一个整数计数到某个点,如果它达到一个点就退出循环。我只是不确定该怎么做。 最佳答案 Dim
我目前正在做文件上传的自动化下面是输入文件标签的HTML标签:下面是按钮HTML标签:我的VBA编码是:DimfileeAsObjectSetfilee=mydoc.getElementById("file")filee.Value=filenamepathSetattach=mydoc.getElementsByName("Attach")attach(0).Click当我运行此编码时,输入文件路径框未分配路径名,因此我选择了文件路径。查找附件截图。最后我尝试了下面的代码但是发送键没有执行DimfileeAsObjectSetfilee=mydoc.getElementById("f
问题-将key存储在缓存中问题停止VBA应用程序我使用pscp.exe将文件从Windows传输到Linux机器。备注:pscp.exe存在于我的VBA代码中(该客户端是PuTTY工具的一部分)当我将文件从我的PC复制到任何新的Linux机器时,我收到“将密钥存储在缓存中?(是/否)”的问题,这会中断我的VBA应用程序(VBA应用程序在sftp进程上停止)。我需要建议如何忽略“将key存储在缓存中?(是/否)”这个问题。或者从我的VBA代码中自动发送一个“y”键?或者在运行pscp.exe之前在PC注册表中定义的其他解决方案?但是该怎么做呢?来自WINXP命令行(cmd)的示例备注
首先,请原谅我在提出问题时的不足,因为我对VBA的了解不多。非常感谢您的帮助。我正在从事一个项目,该项目意味着将来自三个不同子文件夹的三个不同Excel文件的内容放入一个Excel文件中,然后运行一些宏以处理它们包含的数据。由于我已经设置了处理宏,我的问题在于正确导入内容。我面临的问题是我没有想要打开的文件的确切名称,而且它们每个月都会更改。因此,我不能使用需要精确名称的“WorkBooks.Open”命令。但是,这些文件具有可预测的名称格式。例如,其中一个子文件夹将由名为“XXX-jan2013.xls”的文件组成,另一个名为“january2013-XXX”,最后一个名为“XXX-
编辑:事实证明,如果我重新启动Excel,VBA可以看到新方法。不过,我的问题仍然存在,尽管形式有所不同:如何强制Excel在不重新启动的情况下查看新方法?我有一个简单的COM服务器,看起来像这样:classCOMServerThing:_public_methods_=["DoStupidThing"]_reg_progid_="COMServerThing.Utilities"_reg_clsid_="{A9DAECC7-2154-42E6-95B3-53A27EAB63E2}"defDoStupidThing(self):return'foo'我是这样注册的:importwin3
我有一个需要连接到远程服务器的outlookVBA脚本。为此,用户必须输入他的服务器密码。为了避免每次我想将其安全地保存在注册表中时都输入此服务器密码。我已经找到一篇文章如何加密字符串:CanIuseDPAPI(orsomethinglikeit)inVBA?但是你需要一个key来加密。我可以在Windows中使用特定于用户的东西吗?我怀疑我能否读取已登录用户的Windows密码,因为这将是一个安全漏洞。但是有可能得到他的windows密码的哈希值吗?在这种情况下,我可以使用Windows密码的散列来加密服务器密码并满足这两个要求。除登录用户外,没有其他人可以获得服务器密码,用户自己也
我正在寻找由ActiveDirectory策略引起的问题的解决方案。然而,我使用的是一台开发台式电脑,它放在我办公室的table下面。如果在4小时内未检测到键盘/鼠标事件,则该PC上有一项政策会使其进入休眠状态。这在我的情况下很常见,因为我使用远程桌面连接到机器而不是坐在机器旁。我已经做了合乎逻辑的事情,并与IT部门讨论了将PC放入不同的OU并删除了策略,但他们尚未对此采取行动,这确实给我带来了问题。(如果你在办公室很容易,但如果你在家工作就很痛苦!)所以我想知道是否有一个我可以运行的简单脚本,它会每3小时按两次大写锁定键-但在某种程度上,PC会将其视为物理按键,而不仅仅是运行脚本。或
我有64位Windows10和MSOffice64位。我正在尝试让PowerPoint的VBA在自写的64位WindowsDLL中加载和执行函数。问题是我无法将字符串从VBA传递到WindowsDLL。各种网站上有很多讨论,但我还没有找到一个有效的。我尝试了两种方法但没有成功。如果我使用调用DLL的C++应用程序,我没有问题。方法一:动态链接库:extern"C"{__declspec(dllexport)longjaadd(longa,longb,LPCWSTRstrg){MessageBoxW(NULL,strg,L"DLL",MB_OK);returna+b;}}在VBA中:Pr
我有一个在Excel64位上运行的VBA程序调用一些DLL函数(C++)。问题是(显然)它不能将指针传递给C++程序。该程序适用于Excel32位。操作系统是Windows8。对于Windows7,32位和64位版本的Excel都运行良好。C++:doubletest(long*v,longi){if(v==NULL)return-88;elsereturn*((long*)v);}VBA:PrivateDeclarePtrSafeFunctionhamid_testLib"...\CVode.dll"(ByValvAsLongPtr,ByValiAsLong)AsDoubleDimx
我目前正在学习如何在VisualBasic中编写命令,并决定制作一个简单的关机消息。该代码完美运行:当用户单击"is"时,它会关闭,而“否”、“取消”和“X”按钮会关闭消息。但是,我决定也尝试制作一个恶作剧消息,无论选择什么选项,计算机都会关闭。我运行了脚本,但是当我单击“X”图标时(我没想到要关闭我的电脑!),我的电脑还是关机了:(有没有办法阻止这种情况的发生,或者更好的是,有没有办法让“X”图标变灰,这样用户就无法关闭消息?这是代码:OptionExplicitDimresultresult=MsgBox("Doyouwanttoshutdown?",3+48,"Warning")