ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 19539|回复: 23

VBA如何在正文粘贴EXCEL内容

[复制链接]

TA的精华主题

TA的得分主题

发表于 2008-2-19 15:33 | 显示全部楼层 |阅读模式

各位大侠:

        本人想实现自动发送mail,目前遇到一麻烦,就是把excel内容copy图片格式后,如何才能自动粘贴到正文中!

 希望有高手给予解答.非常感谢!

                            

                      Body属性!我只会写入相关内容   如: .Body="1213213"

                                                                          望大侠出手!!!

Sub SENDMAIL()
Dim pic As Shapes
 Sheet1.Range("A1:H18").CopyPicture Appearance:=xlScreen, Format:=xlPicture
Dim olkapp As Object
Dim malinewmail As Object
Dim myAttachments As Object
Set olkapp = CreateObject("outlook.application")
Set oItem = olkapp.CreateItem(olMailItem)
Set myAttachments = oItem.Attachments
  With oItem
   .To = "INVENTYR_1"
   .Subject = "test"
   .Body = "test!" & past
   .CC = "   "
   .Importance = olImportanceLow
   .NoAging = True
   .Display
 End With
  myAttachments.Add "D:\2008.xls", _
        olByValue, 1, "Test"
  Application.OnTime Now + TimeValue("00:00:05"), "hdh"

End Sub

Sub hdh()
SendKeys "%s"
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-2-19 15:34 | 显示全部楼层
请高手,出动!!!

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-2-19 15:42 | 显示全部楼层
主要是不像excel可以录制宏,可以自己摸索.希望有人指教!

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-2-19 16:04 | 显示全部楼层

大哥们给点提示!!!!!!!!!!!!!!!!!!!!!

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-2-19 16:08 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2008-2-23 11:06 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
粘贴EXCEL内容

TA的精华主题

TA的得分主题

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

可以先将Excel文件另存为网页,读取代码,然后再利用.HTMLBody设置代码即可!

更多请参考:http://www.rondebruin.nl/sendmail.htm

 

WBwRVGO1.rar (18.88 KB, 下载次数: 904)

TA的精华主题

TA的得分主题

发表于 2008-3-1 16:14 | 显示全部楼层

请学习本版置顶的VBA集中营一贴,试着修改你的代码。下面的帖子应该会让你有点启示。

http://club.excelhome.net/viewthread.php?tid=123820&replyID=&skin=0

请动手修改一下,有问题再大家一起讨论。

TA的精华主题

TA的得分主题

 楼主| 发表于 2008-3-13 14:54 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

非常感谢:BobPan 及 版主

    我试用你的方法,可是发现有个问题.

    我的excel内带有图表及图片,BODY内发现没有图表及图片.

请问高手有没有更好的办法,解决!

Function RangetoHTML(rng As Range)
' Changed by Ron de Bruin 28-Oct-2006
' Working in Office 2000-2007
    Dim fso As Object
    Dim ts As Object
    Dim TempFile As String
    Dim TempWB As Workbook
 
    TempFile = Environ$("temp") & "\" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm"
 
    'Copy the range and create a new workbook to past the data in
    rng.Copy
    Set TempWB = Workbooks.Add(1)
    With TempWB.Sheets(1)
        .Cells(1).PasteSpecial Paste:=8
        .Cells(1).PasteSpecial xlPasteValues, , False, False
        .Cells(1).PasteSpecial xlPasteFormats, , False, False
        .Cells(1).Select
        Application.CutCopyMode = False
        On Error Resume Next
        .DrawingObjects.Visible = True
        .DrawingObjects.Delete
        On Error GoTo 0
    End With
 
    'Publish the sheet to a htm file
    With TempWB.PublishObjects.Add( _
         SourceType:=xlSourceRange, _
         Filename:=TempFile, _
         Sheet:=TempWB.Sheets(1).Name, _
         Source:=TempWB.Sheets(1).UsedRange.Address, _
         HtmlType:=xlHtmlStatic)
        .Publish (True)
    End With
 
    'Read all data from the htm file into RangetoHTML
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2)
    RangetoHTML = ts.readall
    ts.Close
    RangetoHTML = Replace(RangetoHTML, "align=center x:publishsource=", _
                          "align=left x:publishsource=")
 
    'Close TempWB
    TempWB.Close savechanges:=False
 
    'Delete the htm file we used in this function
    Kill TempFile
 
    Set ts = Nothing
    Set fso = Nothing
    Set TempWB = Nothing
End Function

TA的精华主题

TA的得分主题

发表于 2008-4-1 22:07 | 显示全部楼层
QUOTE:
以下是引用haiyinsha在2008-2-19 15:33:14的发言:

各位大侠:

        本人想实现自动发送mail,目前遇到一麻烦,就是把excel内容copy图片格式后,如何才能自动粘贴到正文中!

 希望有高手给予解答.非常感谢!

                            

                      Body属性!我只会写入相关内容   如: .Body="1213213"

                                                                          望大侠出手!!!

Sub SENDMAIL()
Dim pic As Shapes
 Sheet1.Range("A1:H18").CopyPicture Appearance:=xlScreen, Format:=xlPicture
Dim olkapp As Object
Dim malinewmail As Object
Dim myAttachments As Object
Set olkapp = CreateObject("outlook.application")
Set oItem = olkapp.CreateItem(olMailItem)
Set myAttachments = oItem.Attachments
  With oItem
   .To = "INVENTYR_1"
   .Subject = "test"
   .Body = "test!" & past
   .CC = "   "
   .Importance = olImportanceLow
   .NoAging = True
   .Display
 End With
  myAttachments.Add "D:\2008.xls", _
        olByValue, 1, "Test"
  Application.OnTime Now + TimeValue("00:00:05"), "hdh"

End Sub

Sub hdh()
SendKeys "%s"
End Sub

sendkeys "^v"    'or sendkeys "%ep"

Application.OnTime Now + TimeValue("00:00:05"), "hdh"

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

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-4-25 19:58 , Processed in 0.040720 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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