草庐IT

windows - 在列表框vba中获取一致的伪列

我正在为某些旧版本的AutoCAD替换出现在我们公司VBA代码中的几个MSFlexgrid实例。我们决定用列表框替换它们。然而,就我们在列表框中创建的“列”而言,我们无法获得一致的间距(我们只是用竖线“|”分隔数据)。由于字体没有一致的字母宽度,我们无法按预期填充空格。我应该怎么做才能使列表框文本始终被填充?我也不是特别关心我们使用哪个控件,所以请随意建议任何其他标准vb6控件 最佳答案 您需要将列表框的字体更改为Monospacedfont我个人更喜欢CourierNew:在属性中更改它:

windows - VBA、FileSystemObject、Windows 排序顺序

我打算在VBA中做一些事情,基本上会列出一个或多个目录中的所有文件,从根文件夹开始。长话短说,我正在使用filesystemobject遍历所有文件夹,然后获取这些文件夹中的所有文件。移动到下一个文件夹等。我遇到的问题是我需要按照在Windows中可能找到的相同文件夹排序顺序吐出我的数据(到工作表上)。我知道这不是一个固定的概念,所以这里有一个简单的例子,它在Windows中显示(对我来说):Windows排序顺序:FolderTest\000FolderTest\0FolderTest\0001不足为奇,当使用FSO时,它会以不同的(可能更符合逻辑的)顺序返回子文件夹:FolderT

windows - VBA - 未定义用户定义的类型

我正在尝试更新VBA模块以使用System.Windows.Forms.FolderBrowserDialog类。我声明我的对象如下:DimMyFolderBrowserAsNewSystem.Windows.Forms.FolderBrowserDialog运行它给了我错误User-definedtypenotdefined。我认为编译器不知道该类,所以我尝试转到Tools>References并添加Systems_Windows_Forms,但我仍然遇到同样的错误。有谁知道我在这里错过了什么?我是否还需要在我的代码中引用该库? 最佳答案

windows - 您可以使用 VBA 返回磁盘的卷 GUID 吗?

我看到了另一个帖子VBAOpenaUSBdeviceusingit'suniqueidinwmi海报展示了一种通过VBA和WMI获取USB设备UID的方法,但我不确定如何使用VBA从WMI中检索VolumeGUID。我想获取DeviceID,然后在可能的情况下为特定设备返回VolumeGUID(如果它与DeviceID匹配)。此帖HowtogetthevolumeGUID似乎暗示这是可能的,但它适用于C++我只是查询了错误的WMI类吗? 最佳答案 我以前用VBS来做这个,你可以减少和修改它以在VBA中使用。strComputer="

vba - Microsoft Word 宏来计算评论

我是一名教学设计师;我致力于通过添加评论来编辑word文档。我在问我是否可以找到一个Word宏来帮助我计算这些评论并对它们进行分类。感谢您的帮助 最佳答案 下面是一个Sub,用于根据您的类别对项目进行计数:SubCountComments()Dimspelling,grammar,rephrasing,technical,otherAsIntegerspelling=0grammar=0rephrasing=0technical=0other=0DimcommentAscommentForEachcommentInActiveDoc

vba - Excel VBA 代码无法打开名为 "CON.txt"的文件

我正在处理一个包含竖线分隔数据的大型文本文件,其中每一行都以文本“记录类型”字段开头——例如,“APP”、“ATT”、“CON”、“A”、“T”……我需要把文件拆分成一系列特定记录类型的文件,所以“APP.txt”里面有所有的APP记录类型等等。我正在做的是从源文件中读取一行,获取第一个字段,检查token是否在集合中,然后,如果token在集合中,打开该文件并写入它,或者如果token不在集合中,则创建一个新文件,写入该文件,然后将token添加到集合中。我的程序工作正常,除了创建“CON.txt”文件时:如果我从源文件中删除所有“CON”记录类型,它就可以正常工作。如果“CON”记

windows - 如何从 Excel/VBA 调用长时间运行的外部程序?

从excel运行外部程序的最佳方式是什么。它可能会运行几分钟。关于如何做到这一点的最佳实践是什么。理想情况下,让用户知道流程正在执行的模型对话框。如果可执行文件失败,用户应该会收到通知。应该强制执行超时。对话框上应该有一个取消按钮。但欢迎任何最佳实践。我对调用.dll或.exe的解决方案很感兴趣。最好是适用于Excel'03或更早版本的东西,但我也很乐意听到迁移到更高版本的理由。 最佳答案 您应该查看这两篇Microsoft知识库文章HowtolaunchaWin32ApplicationfromVisualBasic和HowToU

windows - VBA7 中的 ShellExecuteEx 打印失败,访问被拒绝

我们在Word宏中有VBA代码,用于下载一个或多个文档,然后使用Windows函数打印它们ShellExecuteEx.代码在Windows2000、XP和7(32位和64位)上的Word版本97、2000、2003、2007和2010(32位)中成功运行。但在64位Word2010和2013中调用ShellExecuteEx失败。我们已将VBA7(64位)的声明更新为documentedonMSDN和specifiedintheWin32API_PtrSafefile.例如:#IfVBA7ThenTypeSHELLEXECUTEINFOcbSizeAsLongfMaskAsLongh

windows - 如何使用 vba 更改扩展文件属性

使用thislink我能够在vba中编写一个程序来读取扩展文件属性。现在,我想制作一个可以编辑扩展文件属性的程序——特别是属性22,即文件的“主题”。那么,给定一个文件路径,您如何编辑与该文件关联的主题? 最佳答案 用你现在用的方法是做不到的。您可以安装和使用MicrosoftActiveXdsofile.dll使用VBScript获取和设置扩展属性。SetobjFile=CreateObject("DSOFile.OleDocumentProperties")objFile.Open("C:\MyPath\MyFile.doc")

windows - 当 Windows 7 计算机被锁定时,VBA 关闭 excel 文件

我在6/7人使用的共享驱动器上有一个excel文件,但一次只能有一个人编辑。当一个人打开文件进行编辑然后消失一个小时吃午饭,让excel文件保持打开状态并且其他用户无法编辑时,挫败感就来了。VBA是否可以监听站何时被锁定,并相应地激活宏?抱歉,我没有发布任何我自己的尝试,因为我对这种级别的VBA有点摸不着头脑。任何可以帮助我入门的要点都非常有用。 最佳答案 您有几个选择:杀死做这件事的同事让其他用户创建一个副本并另存为,然后合并后者(非常hacky)或者您尝试超时-因此,如果用户在10分钟内没有选择任何内容,工作簿将关闭。我认为选择