我有一个应用程序,当用户单击按钮时需要激活Outlook(如果它正在运行).我尝试过以下但是没有用.
在窗口类中声明:
[DllImport( "user32.dll" )]
private static extern bool SetForegroundWindow( IntPtr hWnd );
[DllImport( "user32.dll" )]
private static extern bool ShowWindowAsync( IntPtr hWnd, int nCmdShow );
[DllImport( "user32.dll" )]
private static extern bool IsIconic( IntPtr hWnd );
Run Code Online (Sandbox Code Playgroud)
在按钮Click处理程序中:
// Check if Outlook is running
var procs = Process.GetProcessesByName( "OUTLOOK" );
if( procs.Length > 0 ) {
// IntPtr hWnd = procs[0].MainWindowHandle; // Always returns zero
IntPtr hWnd = procs[0].Handle;
if( hWnd != IntPtr.Zero ) {
if( IsIconic( hWnd …Run Code Online (Sandbox Code Playgroud) 我有一个电子邮件模板,在大多数电子邮件客户端(或至少可接受)中工作正常,但在Outlook 2007和Outlook 2010中完全中断.
我知道这些版本的Outlook使用Word渲染引擎而不是IE.
我听说过Outlook分页错误,但这似乎只会影响垂直间距.我的问题是水平间距.
代码: http ://jsbin.com/alagih/edit#html,liveb
所有主要电子邮件客户端的测试结果: http ://artletic.createsend.com/screens/y/F2B9C33F1297A73F
Outlook 2007截图:

我搜索并搜索了答案,所以我会在这里发布.我正在尝试创建一个宏,它将2个星期的邮件从我的收件箱移动到我为每个同事创建的特定文件夹.宏成功循环通过超过两周的所有收件箱邮件.但是,当我使用.SenderEmailAddress它时,它会返回一大串字符而不是###@####.com.我如何获取发件人的电子邮件地址?
如果没有给出确切的字符串(安全问题),这就是我用"X"代替一些字符的方法:
/o=XXXXXXX/ou=Exchange Administrative Group (XXXXXXXXXXXXXXX)/cn=Recipients/cn=XXXXX@XXXXX
Run Code Online (Sandbox Code Playgroud)
字符串的末尾是主题行文本.
任何帮助将不胜感激!:-)
我正在使用以下代码从 MS Outlook 2010 中检索不同的邮件参数。但我无法获得 CC 电子邮件地址。类的CC属性MailItem返回名称,而不是电子邮件地址。
NameSpace _nameSpace;
ApplicationClass _app;
_app = new ApplicationClass();
_nameSpace = _app.GetNamespace("MAPI");
object o = _nameSpace.GetItemFromID(EntryIDCollection);
MailItem Item = (MailItem)o;
string HTMLbpdyTest = Item.HTMLBody;
CreationTime = Convert.ToString(Item.CreationTime);
strEmailSenderEmailIdMAPI = Convert.ToString(Item.SenderEmailAddress);
strEmailSenderName = Item.SenderName;
Subject = Item.Subject;
string CCEmailAddress = Item.CC;
Run Code Online (Sandbox Code Playgroud)
请建议,我怎样才能获得 CC 电子邮件地址?
I have 20+ emails created by macro code with all details like Subject, To, CC, BCC etc. I want to save these emails as draft in MS Outlook before sending them.
This is my code:
With OutMail
.SentOnBehalfOfName = email_from
.To = email_to
.CC = email_cc
.BCC = email_bcc
.subject = subject
.HTMLBody = "Dear All,<br /> <br/>Please find below today's MIS. <br/>" & RangetoHTML(rng)
.Attachments.Add (Attach_Path)
.display
End With
Run Code Online (Sandbox Code Playgroud)
Can someone pleas help on this?
我试图将侦听器添加到主收件箱和另一个名为“ AssignNumber”的文件夹中。当邮件进入我的主收件箱时,我写了MACRO,侦听新邮件,然后对该邮件进行处理。另一方面,对于我的AssignNumber文件夹,我希望能够将电子邮件拖到该文件夹中,并且一旦将电子邮件拖放到该文件夹中,该文件夹就会侦听它们,然后执行一些我将不涉及的其他操作。我的问题是,我所有用于侦听进入MAIN INBOX的邮件的代码都是在ThisOutlookSession中编写的,我不知道在哪里添加侦听AssignNumber文件夹的代码。这是我在ThisOutlookSession中拥有的代码:
Private WithEvents Items As Outlook.Items
Private Sub Application_Startup()
Dim olApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Set olApp = Outlook.Application
Set objNS = olApp.GetNamespace("MAPI")
' default local Inbox
Set Items = objNS.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub Items_ItemAdd(ByVal item As Object)
'do Stuff to mailitem
End Sub
Run Code Online (Sandbox Code Playgroud)
我不知道在哪里/如何添加类似的代码,这些代码将侦听我的AssignNumber文件夹中拖放到其中的项目。谁能帮忙?非常感谢。
我正在尝试从cmd打开Microsoft Outlook 2010,但我希望电子邮件的正文包含换行符/换行符.
"C:\Programs\Microsoft Office\Office14\OUTLOOK.EXE" /c ipm.note /m "myemail@email.com&cc=seconda.address@email.com&subject=Test&body=Line 1 \r\n Line 2"
Run Code Online (Sandbox Code Playgroud)
随着Outlook 2010正确打开电子邮件地址,主题,但我无法弄清楚如何自动插入换行符.
我试着/ 0, ,
,,\
r \n\r\R,$ _但它仍然把它写成简单的文字.
我知道%20个字符放置是一个空格,但我需要一个换行符.
这甚至可能吗?没有.bat或东西,只是简单的命令行(Windows XP)
outlook-2010 ×7
outlook ×3
c# ×2
outlook-vba ×2
vba ×2
.net-3.5 ×1
cmd ×1
command-line ×1
excel ×1
excel-vba ×1
html-email ×1
html-table ×1
listener ×1
outlook-2007 ×1
windows ×1