新足迹

 找回密码
 注册

精华好帖回顾

· X5 E70简单作业 (2013-12-8) 浮华如丝 · [VIC] 建筑小白Owner Building 经历记 - (15-11-2015) Hydronic Heating。 (2013-5-31) cyvs
· 家有DDP,营养要平衡。黑椒牛柳,糯米藕和松鼠鲤鱼。。(外送虎妞睡觉PP一张) (2006-2-11) binbingogo · 我爱吃鸡蛋 - 无蛋不欢的早餐 L67 简易版土耳其蛋 (2024-5-24) 胡须康
Advertisement
Advertisement
查看: 1358|回复: 12

[IT] 请教Excel达人关于excel自动发email reminder的问题 [复制链接]

发表于 2012-7-1 10:36 |显示全部楼层
此文章由 homeandaway 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 homeandaway 所有!转贴必须注明作者、出处和本声明,并保持内容完整
各位Excel达人,公司目前用一个很庞大的excel来跟踪3000多个零件完成情况,每个零件有个完成的outlook date,现在领导要我们把outlook date都放入lotus notes里面的to do list,然后设置reminder来提醒自己,这增加了多少工作量啊,而且如果excel中的outlook date改了,lotus notes里面的date也要改,就是说我们还要人工做synchronization的工作,不犯错才怪。所以,我想问的问题是excel能按照outlook date自动发email reminder吗?比如A零件的outlook date 是 7月31,能否设置outlook date的4周前,即7月3日自动发email reminder?小弟先谢过了。
稳中求胜,不浮躁,相信自己,看准了要下狠手
Advertisement
Advertisement

发表于 2012-7-2 15:05 |显示全部楼层
此文章由 bats 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 bats 所有!转贴必须注明作者、出处和本声明,并保持内容完整
outlook可以,lotus不会

发表于 2012-7-2 16:31 |显示全部楼层
此文章由 yang~_~ 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 yang~_~ 所有!转贴必须注明作者、出处和本声明,并保持内容完整
可以。很简单,在lotus中建个agent,定时每日扫描此excel文件,发邮件提醒即可。

发表于 2012-7-2 17:42 |显示全部楼层
此文章由 homeandaway 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 homeandaway 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 bats 于 2012-7-2 15:05 发表
outlook可以,lotus不会


outlook怎么实现这个功能呢?有code吗?谢谢!
稳中求胜,不浮躁,相信自己,看准了要下狠手

发表于 2012-7-2 17:45 |显示全部楼层
此文章由 homeandaway 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 homeandaway 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 yang~_~ 于 2012-7-2 16:31 发表
可以。很简单,在lotus中建个agent,定时每日扫描此excel文件,发邮件提醒即可。

yang,

能否稍微具体点,在哪里建agent?可以定时扫描指定excel中的某列cell?并能对比该列cell和当前的日期看是否在1周,或2周,或3周内due?谢谢诶!
稳中求胜,不浮躁,相信自己,看准了要下狠手

发表于 2012-7-2 19:06 |显示全部楼层
此文章由 yang~_~ 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 yang~_~ 所有!转贴必须注明作者、出处和本声明,并保持内容完整
在任意database中都可建。如果excel文件是大家公用的,首先要确保lotus domino服务器能访问到此文件,其次domino服务器上要装office软件。具体定时代理的代码很容易,如果需要,把具体要求给我,我给你写代码(免费 )。
Advertisement
Advertisement

发表于 2012-7-3 08:48 |显示全部楼层
此文章由 homeandaway 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 homeandaway 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 yang~_~ 于 2012-7-2 19:06 发表
在任意database中都可建。如果excel文件是大家公用的,首先要确保lotus domino服务器能访问到此文件,其次domino服务器上要装office软件。具体定时代理的代码很容易,如果需要,把具体要求给我,我给你写代码(免费 )。


非常感谢热心yang。Excel文件是大家公用的,而且有passcode,怎样才能确认lotus domino服务器能访问到此文件(我们有很多公用的drive,而且权限不同)?如果不能访问的话,是否可以通过excel里的VBA来实现呢?如何确认服务器上装了office软件?谢谢!
稳中求胜,不浮躁,相信自己,看准了要下狠手

发表于 2012-7-3 10:01 |显示全部楼层
此文章由 yang~_~ 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 yang~_~ 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我不知道VBA能否自动运行,发Notes邮件还是能做到的,需要把Notes注册为OLE object。你在VBA中试一下这个代码:
Set aNotes = CreateObject("Notes.NotesSession")
MsgBox aNotes.UserName
Set aNotes = Nothing
如果不能弹出当前Notes用户名,则说明Notes客户端没装好,运行一下NotesW32.reg文件或重装客户端。如果一切正常,我再给你发邮件的代码,自己改改就行了。

发表于 2012-7-3 11:06 |显示全部楼层
此文章由 bats 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 bats 所有!转贴必须注明作者、出处和本声明,并保持内容完整
如果要excel实现,可以看看这里:
http://www.rondebruin.nl/notes.htm
例子很详细了

发表于 2012-7-3 13:46 |显示全部楼层
此文章由 homeandaway 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 homeandaway 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 yang~_~ 于 2012-7-3 10:01 发表
我不知道VBA能否自动运行,发Notes邮件还是能做到的,需要把Notes注册为OLE object。你在VBA中试一下这个代码:
Set aNotes = CreateObject("Notes.NotesSession")
MsgBox aNotes.UserName
Set aNotes = Nothing
如果不能 ...

谢谢yang,我试试。
稳中求胜,不浮躁,相信自己,看准了要下狠手

发表于 2012-7-3 13:51 |显示全部楼层
此文章由 homeandaway 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 homeandaway 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 bats 于 2012-7-3 11:06 发表
如果要excel实现,可以看看这里:
http://www.rondebruin.nl/notes.htm
例子很详细了

谢谢Bat。 这个我前几天看过,教你怎么VBA发email,可是没有找到如果通过检查excel中的outlook date来发reminder email。可能我没有看仔细,能否在指点一下?谢谢!
稳中求胜,不浮躁,相信自己,看准了要下狠手
Advertisement
Advertisement

发表于 2012-7-3 14:21 |显示全部楼层
此文章由 bats 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 bats 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 homeandaway 于 2012-7-3 13:51 发表

谢谢Bat。 这个我前几天看过,教你怎么VBA发email,可是没有找到如果通过检查excel中的outlook date来发reminder email。可能我没有看仔细,能否在指点一下?谢谢!

outlook is easy. just add the following:
for example:
      .DeferredDeliveryTime = "03/07/2012 2:18 PM"
or if use a range:
.DeferredDeliveryTime = range("A1")
don't know about lotus though

评分

参与人数 1积分 +3 收起 理由
homeandaway + 3 谢谢!

查看全部评分

客舍并州已十霜,归心日夜忆咸阳。
无端更渡桑干水,却望并州是故乡。

发表于 2012-7-3 16:24 |显示全部楼层
此文章由 yang~_~ 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 yang~_~ 所有!转贴必须注明作者、出处和本声明,并保持内容完整
你的outlook date是excel中某一列吧,以下是提前7天通知的VBA代码,有问题就问。首先建一个邮件库到本地,最简单的做法,右键点击你的邮件库复制到本地。密码需要输入你当前ID密码,如果不想输密码,则运行VBA时需要你的Notes客户端已经打开。

Sub CheckExcel()
      
    Dim i As Integer
    i = 2
    tempdate = Sheets("sheet1").Cells(i, 1).Value
    While Not tempdate = ""
        If tempdate - Date >= 7 Then
        
            Call SendEmailByNotes
        End If
        i = i + 1
        tempdate = Sheets("sheet1").Cells(i, 1).Value

    Wend
   
End Sub
Function SendEmailByNotes()

    Dim Maildb As Object
    Dim MailDoc As Object
    Dim Body As Object
    Dim Session As Object
    Dim nSend As Variant
    Dim nRTItem As Object

        
    On Error GoTo errHandle
        nSend = VBA.Array("name1@xxx.com", "name2@xxx.com")

        Set Session = CreateObject("Lotus.NotesSession")
        
        Call Session.Initialize("<password>")
        Set Maildb = Session.GETDATABASE("", "C:\Program Files\IBM\Lotus\Notes\data\testmail.nsf")
        If Not Maildb.IsOpen = True Then Call Maildb.Open
        'Create the Mail Document
        Set MailDoc = Maildb.CREATEDOCUMENT
        'Set subject of the mail
        Call MailDoc.REPLACEITEMVALUE("Subject", "Test")
       'Set the Recipient of the mail
        Call MailDoc.REPLACEITEMVALUE("SendTo", nSend)
        Call MailDoc.REPLACEITEMVALUE("Form", "Memo")
        MailDoc.SAVEMESSAGEONSEND = True
        Call MailDoc.REPLACEITEMVALUE("PostedDate", Now())
       'Create and set the Body content of the mail
        Set nRTItem = MailDoc.CREATERICHTEXTITEM("Body")
        Call nRTItem.AddNewLine(2)
        Call nRTItem.AppendText("This is a test mail")

        Call MailDoc.SEND(False)
   
        Set Maildb = Nothing
        Set MailDoc = Nothing
        Set Body = Nothing
        Set nRTItem = Nothing
        Set Session = Nothing
        
errHandle:
        Set Maildb = Nothing
        Set MailDoc = Nothing
        Set Body = Nothing
        Set nRTItem = Nothing
        Set Session = Nothing
End Function

评分

参与人数 1积分 +4 收起 理由
homeandaway + 4 谢谢!我试试

查看全部评分

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部