tl,dr:我可以将Application.Dialogs(xlDialogSendMail).Show对话框最小化吗?
程序:我有一个自动创建文件,编译电子邮件并附加文件的解决方案。用户可以查看并选择发送电子邮件或关闭而不发送。
问题:问题是有些用户希望将内容复制/粘贴到自动编译的电子邮件正文中。这是不可能的,原因有两个:
潜在解决方案:
非常感谢任何答案/想法/指导!
答案 0 :(得分:1)
最小化按钮对于SendMail对话框没有意义,因为此对话框是模态的 - 即必须先关闭它才能继续在Excel中工作。此外,此Excel对话框对象在lib中定义,不易通过VBA进行修改。
用户的解决方法是指示他们在打开对话框之前将文本复制到剪贴板缓冲区。除非您的应用程序在创建邮件正文时销毁剪贴板,否则可以粘贴。
如果您需要例程中的剪贴板内容,可以先将当前内容读出到文本变量中,然后在退出时将其恢复到剪贴板。
答案 1 :(得分:-1)
第一个想法是使用.parent进行操作,但我不知道是否可能。第二个想法是打开另一个Excel实例并从那里调用Application.Dialogs(xlDialogSendMail),然后用户将能够切换到第一个excel窗口。但是当你发送或关闭电子邮件时,你必须关闭第二个excel实例。