中易网

outlook的vba怎样读取excel的数据呢

答案:3  悬赏:60  
解决时间 2021-04-07 23:02
要做一个小东西.
当某特定email地址发给我邮件时, 我要提取里面的的一些信息, 然后与我电脑里面的一个excel中的表格作比较. 如果mail里面的信息与excel里面的信息一致则把相关的数据转发给其他一些人. 现在没搞定的是怎么用outlook读取excel里面的信息? 高分!
已经解决了. 大家都没看题.不是访问数据库,是访问Excel. 其实挺简单的:
Dim myExcel
Dim myExcelPath As String
myExcelPath = "C:\1.xlsx"
Dim myExcelName As String
myExcelName = "1.xlsx"

Set myExcel = CreateObject("Excel.Application")
myExcel.workbooks.Open FileName:=myExcelPath, ReadOnly:=True
myExcel.Visible = False
myExcel.Windows(myExcelName).Activate
然后用:
myExcel.Sheets("Sheet1").Cells(1, 1)就可以访问你的excel了
最佳答案
Public Function InsertToTransact(strUID As String, strText As String, strTran As String, strSpecial As String) As Boolean
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim strAccess As String
strAccess = "D:\VBA Work\OutLook\DataBase\Application Record.mdb"

On Error GoTo ErrorHandle

Set cnn = New ADODB.Connection
With cnn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Open strAccess
End With

Set rst = New ADODB.Recordset
rst.CursorLocation = adUseServer

rst.Open Source:="Transact_Record", _
ActiveConnection:=cnn, _
CursorType:=adOpenDynamic, _
LockType:=adLockOptimistic, _
Options:=adCmdTable

rst.AddNew
rst("UID") = strUID
rst("MailDatetime") = Format(Now, "YYYY-MM-DD hh:mm:ss")
rst("MailContent") = strText
rst("bTransact") = strTran
rst("Sepecial_ID") = strSpecial
rst.Update

rst.Close
cnn.Close

Set rst = Nothing
Set cnn = Nothing
If ControlTxtFile("Date", g_strPath_Date, "InsertToTransact-----Success!") Then

End If
Exit Function
ErrorHandle:
'rst.Close
cnn.Close
If ControlTxtFile("Date", g_strPath_Date, "InsertToTransact-----Failure!") Then

End If
Set rst = Nothing
Set cnn = Nothing
'MsgBox "Update failure!"
End Function

这个是一个例子,可以UPDATE数据库,但是你需要查询的话更简单,你可以用上面的代码改编一下。
全部回答
Dim db As Database Dim rs As Recordset Dim sql As String sql = "SELECt 帐单明细.品种ID " sql = sql & "FROM (物资收支库 INNER JOIN 实物账本 ON 物资收支库.物资收支库ID = 实物账本.物资收支库ID) INNER JOIN 帐单明细 ON 实物账本.帐单ID = 帐单明细.帐单ID " sql = sql & "WHERe (((物资收支库.物资收支库ID) =" & Me.物资收支库ID & ") And ((实物账本.日期) <= #" & Me.日期 & "#)) GROUP BY 帐单明细.品种ID;" Set db = CurrentDb Set rs = db.OpenRecordset(sql, 2) 参考下我的代码,实际上就是将查询表的sql按行复制出来,并把其中的参数部分按上面的方式改动下即可,至于直接使用“查询表名”为参数的我也不知道,但上面的sql也看似复杂,但更改起来也很简单,你可以试试!
发给你了
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
考驾照驾校给办理假暂住证违法吗
汽车年审时,城管开的罚单可以到车管所去交吗
excel表里如何筛选出重复的数据?
贵美洗化西董店在哪里啊,我有事要去这个地方
乳胶床垫有难闻的味道
生死狙击的说换码是多少
大冶康体健身会馆会员多少一年
完赵归壁是什么时期
ISO可以变成MP3格式的文件吗?怎么变.
西安的柴油发电机组市场在那?
恒源电器(官山店)怎么去啊,有知道地址的么
想加盟都市丽人内衣店! 希望得到帮助
请问“吁”这个字在姓氏当中应该读哪个音?
怎样注册微信号?
安装office2003显示这个 求指点
推荐资讯
今年羊的行情怎么样呢
28+72-28+72用简便方法计算
山东究州有什么特产
iphone5的ios系统怎么刷回低版本?现在的太费
发电机供电的继电保护如何计算?
很生气,我们同事是白眼狼,看到他就不舒服,
一个女生刁蛮任性 什么原因
艾米莉娅翻译成罗马音
我玩英雄联盟为什么每过一段时间都会有一次卡
果树打药程序,果树一年打几次药,啥时间打啥
杜尔伯特县检察院地址在哪,我要去那里办事
苏枫的蓄电池和双龙的蓄电池哪个好
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?