ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: ck1668

求助:excel表里到期的项目在Outlook的行事历里自动出现提示

[复制链接]

TA的精华主题

TA的得分主题

发表于 2006-2-28 11:47 | 显示全部楼层
唉,楼主,我真是要被你打败了,请再仔细读一下2楼的贴!!!
[此贴子已经被作者于2006-2-28 11:49:24编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-2-28 12:01 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
以下是引用[I]Kevin[/I]在2006-2-28 11:47:28的发言:[BR]唉,楼主,我真是要被你打败了,请再仔细读一下2楼的贴!!!
总版主,我是按照您2楼的方法,先将您2楼很长的代码写在Outlook的ThisOutlookSession中,又引用Excel对象,同时把源数据文件保存为E:\OL_Reminder.xls。但Outlook中就是没有出现提醒视窗。现附上附件,请您帮我看看是不是这样的。多谢! psp2mAPW.rar (14.23 KB, 下载次数: 17)

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-2-28 13:54 | 显示全部楼层
总版主,我是这样做的,您帮我看看是不是我把代码搞错了。 1)将您2楼的以下代码写在Outlook的ThisOutlookSession中,然后引用Excel对象 Option Explicit Private Sub Application_Startup() CreateNewAM End Sub Private Sub CreateNewAM() Dim XL_app As Excel.Application Dim XL_wb As Excel.Workbook Dim OLAitem As Outlook.AppointmentItem Dim Bodytxt As String Dim i As Integer Set XL_app = CreateObject("Excel.Application") Set XL_wb = XL_app.Workbooks.Open("E:OL_Reminder.xls") Bodytxt = "今天到期生產單號" & Chr(10) i = 9 With XL_app.Workbooks("OL_Reminder.xls").Sheets(2) Do While .Cells(i, 9) <> "" If CDate(.Cells(i, 9)) = Date Then Bodytxt = Bodytxt & .Cells(i, "B") & Chr(10) End If i = i + 1 Loop End With On Error GoTo 0 Set OLAitem = CreateItem(olAppointmentItem) '工作 On Error Resume Next With OLAitem .Subject = "今天到期的工作" .Start = Now .End = Now .ReminderMinutesBeforeStart = 30 '30分鐘前提醒 .Body = Bodytxt .Save .Display End With XL_app.ActiveWorkbook.Saved = True XL_app.Workbooks.Close Set XL_app = Nothing End Sub 2)将chijanzen 写的以下代码放在Excel的 VBA Project里。 Sub ListmatureItem() Dim OLapp As Outlook.Application Dim OLAitem As Outlook.AppointmentItem Bodytxt = "今天到期生產單號" & Chr(10) i = 9 With Sheet4 Do While .Cells(i, "I") <> "" If CDate(.Cells(i, "I")) = Date Then Bodytxt = Bodytxt & .Cells(i, "B") & Chr(10) End If i = i + 1 Loop End With On Error Resume Next Set OLapp = GetObject(, "Outlook.Application") If Err.Number Then Err.Clear Set OLapp = CreateObject("Outlook.Application") End If On Error GoTo 0 Set OLAitem = OLapp.CreateItem(olAppointmentItem) '工作 On Error Resume Next With OLAitem .Subject = "今天到期的工作" .Start = Now .End = Now .ReminderMinutesBeforeStart = 30 '30分鐘前提醒 .Body = Bodytxt .Save .Display End With Set OLcont = Nothing Set OLapp = Nothing End Sub
[此贴子已经被作者于2006-2-28 13:58:15编辑过]

TA的精华主题

TA的得分主题

发表于 2006-2-28 15:55 | 显示全部楼层
Outlook Security Setting

求助:excel表里到期的项目在Outlook的行事历里自动出现提示

求助:excel表里到期的项目在Outlook的行事历里自动出现提示

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-2-28 16:40 | 显示全部楼层

现在终于出现提醒视窗了,但没有显示相对应的生产单号,请看附件。并帮忙看看如何才能再进一步显示到期的生产单号?多谢!

84dIM68l.rar (40.84 KB, 下载次数: 22)
[此贴子已经被作者于2006-2-28 16:42:24编辑过]

jSMpAdkv.rar

40.84 KB, 下载次数: 14

TA的精华主题

TA的得分主题

发表于 2006-2-28 17:31 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

XL_app.Workbooks.Open("E:OL_Reminder.xls")

XL_app.Workbooks.Open("E:\OL_Reminder.xls")

TA的精华主题

TA的得分主题

发表于 2006-2-28 18:00 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
楼主,如果你对VBA一点点都不了解,麻烦请使用第一次提问时使用的附件来测试,不要自行修改这个文件!当时这个Excel文件里面只有两个工作表,没有任何代码,现在被你加了一大堆无用信息进去!!

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-2-28 20:28 | 显示全部楼层

总版主,您的意思是两个工作表与多个工作表的效果会不一样,是吗?但代码应该没错啊,Excel里的代码是copy chijanzen的,Outlook里的代码是copy您的。

如果是这样的话,那再麻烦您帮我再修改一下附件,以及附件的VBA代码,好吗?非常感谢!

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-2-28 21:08 | 显示全部楼层
以下是引用[I]wclaw[/I]在2006-2-28 17:31:40的发言:[BR]

XL_app.Workbooks.Open("E:OL_Reminder.xls")

XL_app.Workbooks.Open("E:\OL_Reminder.xls")

您好!您上面两个我都试过,但都不能显示到期的生产单号。

TA的精华主题

TA的得分主题

 楼主| 发表于 2006-3-1 08:40 | 显示全部楼层

总版主,太感谢您和chijanzen,lotustowerwclaw几位高手的帮忙!今天一早我打开Outlook,提醒视窗里终于出现生产单号了,只是出现的单号还不很正确,请看附件里的8363这个单,它已于2006-2-18 落单了,并且在k栏显示的是 "提前11天",但却也显示在提醒视窗里。我看了一下您和chijanzen的代码,可能是因为参照I栏和B栏的缘故,由于我对VBA一点都不懂,故还要麻烦您和chijanzen帮我修改一下代码,让它参照K栏(不参照I栏)和B栏,即K栏若出现”今天到期”,则提醒视窗里就出现B栏相对应的生产单号。多谢您们!

cpgo4vjG.rar (39.41 KB, 下载次数: 17)
[此贴子已经被作者于2006-3-1 8:40:52编辑过]
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-4 20:35 , Processed in 0.026755 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表