vba

正则表达式 – 如何开发包含正则表达式的Excel宏,以便它可以在Windows和Mac中运行

我开发了一个使用VBScript.RegExp的Excel2010VBA宏.我的一个用户显然是使用支持VBA的ExcelMac2011,但没有VBScript.RegExp.我已经看到几个帖子,提到可以使用可以由VBA宏调用的AppleScript创建您自己的RegEx函数.但是,似乎必须是Mac版本的Excel文件和Windows版本.这不太理想.有没有办法在VBA中实现与Windows和Mac兼容的正则表达式?遗憾的是还没有找到解决方案–目前的解决方法是简单地用一系列替换调用替换正则表达式.

与C#和VBA并排的COM Interop

我不是在谈论从C#调用VBACOM……我想要做的是在MSAccess中使用VBA调用C#库而无需注册DLL.我一直在玩并排互操作一段时间没有成功,最后我发现mdb.manifest可能不是exe.manifest的可接受的替代品(可能很明显,我知道,但我我试图保持乐观.我的问题:是否有可能让VBA加载一个并排的COM组件?

c#enumerable class – 与VBA兼容

我尝试了一个名为People的测试类,它实现了IEnumerable并包含一个Person对象数组.“foreach”构造在C#中运行良好,但在VBA中我只能循环使用老式的方式.这个VBA代码工作得很好:但这在运行时失败:这是C#代码:解决方法尝试将[dispId(-4)]添加到GetEnumerator()方法中.这会将其标记为disPID_NEWENUM成员.为了使VBA与ForEach一起使用集合,它需要通过COM实现_newEnum.这可以通过实现一个枚举器并使用适当的dispId来实现.这通常通

正则表达式 – 使用VBA从文本文件写入excel时保留“列”

我有一个文本文件,格式如下:我在VBA中使用以下代码将文本文件写入excel:我的目标是保留Excel中文本文件中的列.但是,我的代码无法判断计划类型下的空白和福利计划下的空白实际上是两个不同的数据列.它将两列下的空白处理为一个长空格,并且不保留格式.从视觉上我们知道有列,但我的代码看不到这一点.有没有办法对此进行编程,以便它识别出文本文件中有两个空格而不是一个大空格?我想要避免的是必须用字符手动消除它.那可能吗?

正则表达式 – VBA正则表达式匹配时间范围,如“下午1:30 – 凌晨12:00”

我正在尝试使用VBA正则表达式来验证表单的时间范围:#0:00xm–#0:00xm其中x是a或p.所以字符串文字可能是“下午1:30–凌晨12:00”.我想匹配具有此模式的单元格.当我在这个在线工具中使用常规表达时:http://public.kvalley.com/regex/regex.asp并检查我的表达式,它匹配正确.但是,当我在VBA中使用相同的表达式时,它不匹配.对于任何关心的人来说,

正则表达式 – vba积极向前看太贪心了

我正在使用AccessVBA解析带有正则表达式的字符串.这是我的正则表达式函数:当我测试它时:我期待得到:因为它和第一个’MP’实例之间的唯一字符是前瞻中指定的类中的字符.但我的实际回报值是:为什么它会捕捉到第二个“MP”?因为.默认是贪心的.这个.吞噬每个字符,直到它遇到换行符或输入结束.当发生这种情况时,它会回溯到最后一个MP.你想要的是匹配ungreedy.这可以通过放置一个?

重复Microsoft Word VBA,直到找不到搜索结果

我创建了一个MSWord宏来搜索某些文本(用标记代码表示),剪切文本并将其插入新的脚注,然后从脚注中删除标记代码.现在我希望宏重复,直到它在文本中找不到任何更多的标记代码.这是下面的宏很好的问题,您可以使用Selection.Find.Found结果遍历整个文档.你做的是开始搜索,如果你发现结果只在Selection.Find.Found结果为真时进入循环.一旦你完成了这些,你就完成了.以下代码应

像Microsoft Access(VBA)的通知一样非阻塞“吐司”

确实有一些动画,不应该阻止主机应用程序!我的朋友问我关于ms访问的非阻塞吐司通知.我的第一个想法是,检查谷歌你会发现大量的样本.他对他得到的样品不满意.他想要非阻塞通知.用户需要知道但不一定需要互动的东西.由于在VBA中无法进行线程化,我想,如果你能编写自己的.dll怎么办?

Microsoft Excel数据连接 – 通过VBA更改连接字符串

我有一个相当直截了当的问题.我试图通过VBA(宏代码)找到一种方法来更改和更改excel工作簿中现有数据连接的连接字符串.我尝试这样做的主要原因是找到一种方法来提示用户打开工作簿以输入其凭据,或者有一个可信连接的复选框,该复选框将用于现有连接字符串的连接字符串中数据连接.现在,数据连接正在运行我创建的示例用户,并且需要在工作簿的生产版本中消失.希望有道理吗?

有没有办法只使用C#而不使用VBA来捕获Excel VSTO中的HotKeys / Shortcuts?

所以我想在Docuement级别的ExcelVSTO插件中捕获一些关键命令.我似乎无法找到一种方法来做到这一点,除了使用VBA并让我们的插件与VBA对话.任何帮助/示例将不胜感激.我正在使用Excel2007.解决方法您只能通过API调用子类Excel并查看关键命令来执行此操作.This较旧,但仍然适用.