画像に署名を追加しない以外は、動作するコードがあります。ここの画像は、会社のロゴとソーシャルネットワーキングのアイコンです。excel VBAを使用してOutlookで画像からなる署名を追加する
このコードはExcel VBAで記述されていますが、目的はOutlook電子メールの画像として範囲をコピーしてコピーすることです。
Dim Rng As Range
Dim outlookApp As Object
Dim outMail As Object
Dim wordDoc As Word.Document
Dim LastRow As Long
Dim CcAddress As String
Dim ToAddress As String
Dim i As Long
Dim EndRow As String
Dim Signature As String
'// Added Microsoft word reference
Sub Excel_Image_Paste_Testing()
On Error GoTo Err_Desc
'\\ Define Endrow
EndRow = Range("A65000").End(xlUp).Row
'\\ Range for copy paste as image
Set Rng = Range("A22:G" & EndRow)
Rng.Copy
'\\ Open a new mail item
Set outlookApp = CreateObject("Outlook.Application")
Set outMail = outlookApp.CreateItem(0)
'\\ Display message to capture signature
outMail.Display
'\\ This doesnt store images because its defined as string
'Problem lies here
Signature = outMail.htmlBody
'\\ Get its Word editor
Set wordDoc = outMail.GetInspector.WordEditor
outMail.Display
'\\ To paste as picture
wordDoc.Range.PasteAndFormat wdChartPicture
'\\ TO and CC Address
CcAddress = "[email protected]"
ToAddress = "[email protected]"
'\\ Format email
With outMail
.htmlBody = .htmlBody & Signature
.Display
.To = ToAddress
.CC = CcAddress
.BCC = ""
.Subject = "Email Subject here"
.readreceiptrequested = True
End With
'\\ Reset selections
Application.CutCopyMode = False
Range("B1").Select
Exit Sub
Err_Desc:
MsgBox Err.Description
End Sub
このファイルは多くの人に配布される予定であるため、独自のデフォルト署名が付いていることに注意してください。だから、私はデフォルトの.htm署名名を知りません。
(「のAppData \ローミング\マイクロソフト\署名」)
人々はまた、多くの署名を持っているかもしれませんが、私の目標は、彼らのデフォルトの署名をキャプチャすることです。
Error signature picture after running the code
エラー上記のリンク上の1対下図のように私の署名がされている必要があります。このコードで
時間を割いて、私のためにそれを掲示するためにあなたのシッダールタをありがとうございます。私のデフォルトの署名は署名内に独自の画像を持っています。 – vds1
の画像が異なるさまざまなステークホルダーがファイルを使用するため、特定の画像パスを定義するのは難しいでしょう。ユーザーのローカルtempディレクトリに画像として保存し、そのパスを使用することはいつでも可能です。 –
更新された投稿を参照してください。あなたはそれを見るためにページをリフレッシュしなければならないかもしれません。 –