【发布时间】:2019-11-15 08:05:43
【问题描述】:
我正在 Excel 中编写一个快速的 VBA 应用程序,用于办公室秘密圣诞老人活动。我的代码将在 A 列中获取名称列表,将它们复制并在 B 列中随机化它们并重复,直到参与者与自己配对的匹配项不存在。此外,我在 F 列中的单元格包含一个超链接,如下所示: (来自单元格 F10 的示例)
=HYPERLINK("mailto:" & A10 & "?subject=Shhhhh… Secret Santa" & "&body=The name of your receipient is: " &B10, "Email")
所以现在我想要一个子程序来简单地向下滚动列 F 并“单击”每个超链接。 我尝试了一些我在网上找到的东西,但没有一个完全符合我的需要。我怀疑我的语法有问题,所以我什至不会给你带来乐趣。我已经有一段时间没有编码了:) 这“应该”只是一个简单的循环,但我需要中间的魔法线:
Sub Generate_Emails()
Dim lastsanta
lastsanta = ActiveSheet.UsedRange.Rows.Count
cur = 0
Do Until cur = lastsanta
------ Magic line that clicks Cells(cur, 6)
cur = cur + 1
Loop
End Sub
运行时,最终结果应该会弹出一堆已经填满目标和内容的电子邮件窗口,所以我需要做的就是在每个窗口中单击发送(仍在研究如何自动实现,但我认为Outlook 不允许这样做,因此人们不会发送垃圾邮件)
请帮忙。
【问题讨论】:
-
第一点 - 没有第 0 行。
-
第二点:这会让你被你的 ISP 列入黑名单,而不费吹灰之力:)
-
你应该做什么(在你的一次性情况下)我认为是看看 Outlook 自动化是如何工作的。收集电子邮件地址并将它们放入密件抄送:字段。这将适用于一个合理的数字。如果有成千上万个电子邮件地址,请查看 MailChimp 等专用邮件服务。
-
看看这个rondebruin.nl/win/s1/outlook/bmail5.htm,了解一些基本的 VBA 东西来执行
-
BigBen,是的,我知道没有 0。这只是一个拼凑的例子,表明我想使用索引循环遍历每个单元格以单击。对不起我的马虎