친구에게 VBA를 사용하여 코드를 개발하도록 돕고 있습니다. 랩톱에서이 코드를 성공적으로 실행했지만 코드를 컴퓨터에 복사 할 때 오류가 발생했습니다. 다른 컴퓨터에서 이메일을 전송할 때 코드를 실행할 수 없습니다.
Sub Test()
Call sendingEmailWithChecklist("Book1.xlsm")
End Sub
Sub sendingEmailWithChecklist(workbookName As String)
Dim recipient As String
Dim cc As String
Dim subject As String
Dim body As Range
Dim greetings As String
Dim message As String
Dim signature As String
Dim ebody As String
Dim olApp As Outlook.Application
Dim olInsp As Outlook.Inspector
Dim wdDoc As Word.Document
Dim olEmail As Outlook.MailItem
Dim worksheetName As String
Dim content As Range
Set olApp = New Outlook.Application
Set olEmail = olApp.CreateItem(olMailItem)
Sheet2.Activate
recipient = Range("B3").Value
cc = Range("B4").Value
subject = Range("B5").Value
greetings = Range("B6").Value
message = Range("B7").Value
ebody = greetings & vbNewLine & vbNewLine & message & vbNewLine
signature = Range("B8").Value
'Workbooks(workbookName).Activate
worksheetName = "Sheet1"
With olEmail
.Display
.To = recipient
.cc = cc
.subject = subject
Set olInsp = .GetInspector
Set wdDoc = olInsp.WordEditor
Workbooks(workbookName).Worksheets(worksheetName).Activate
Workbooks(workbookName).Worksheets(worksheetName).Cells.Copy
'Range("A1:F17").Select
'Selection.Copy
End With
With olEmail
.Display
wdDoc.Range(1, 1).Paste
wdDoc.Range.InsertBefore ebody
'.Send
End With
End Sub
wdDoc.Range(1,1).Paste
여기 내 코드입니다. 우리는 도구에서 동일한 참조를 선언했지만 오류는 여전히이 줄에 있습니다. 컴퓨터에서 실행되지 않는 이유는 무엇입니까?
추신. 그녀는 HTMLbody
을 사용하고 싶지 않습니다.
왜 'olEmail이 있습니까?' – 0m3r
이미 olEmail과 함께 1 개를 삭제했지만 오류가 수정되지 않았습니다. –
@lemaster가 [wdDoc.Range.Paste'로 변경하면 코드가 제대로 작동하지 않습니다. [https://stackoverflow.com/a/47446571/2685412] 또한 복사 된 범위 앞에'ebody '을 붙여 넣습니다. '우리가 원하는 결과를주지 못했다. ' 문제와 오류에 대해 구체적으로 설명해주십시오. – L42